我曾經發表過NPM包: https://www.npmjs.com/package/jk-router未定義導入已NPM模塊
使用它作爲一個經典的全局變量window.Router
時工作正常。 但當我嘗試在一個非常基本的流星應用程序中使用ES6語法來導入它,它不會返回underfined
...
正如你所看到的,我使用名爲export(https://github.com/jalik/jk-router/blob/master/src/router.js#L174),並確保我還使用默認導出(https://github.com/jalik/jk-router/blob/master/src/router.js#L559)。
但沒有下返回路由器的對象:
import Router from "jk-schema";
import {Router} from "jk-schema";
也許有什麼毛病wepback配置? https://github.com/jalik/jk-router/blob/master/webpack.config.js
const path = require("path");
const Package = require("./package.json");
const isProd = process.argv.indexOf("-p") !== -1;
const filename = Package.name + (isProd ? ".min" : "");
module.exports = {
target: "web",
entry: {
bundle: path.join(__dirname, "src/router.js")
},
output: {
path: path.join(__dirname, "dist"),
filename: `${filename}.js`
},
resolve: {
extensions: [".js"],
modules: [path.join(__dirname, "src/js"), "node_modules"]
},
module: {
rules: [
{
test: /\.(js)$/,
exclude: /node_modules/,
use: "babel-loader"
}
]
},
plugins: []
};
我還有一個NPM包(https://www.npmjs.com/package/jk-schema),我可以沒有問題導入,但它使用咕嘟咕嘟包裝。 也許我已經錯過了一些東西,我已經搜索了幾個小時,並且找不到有什麼問題......
這個問題不存在,因爲'dist'文件夾包含編譯最終的Javascript ,所以它是'main'屬性所指的正確文件。此外,我不能指向原始源文件,因爲它是用現代語法編寫的ES6。這就是爲什麼我使用Webpack來轉換爲經典的JS。 正如我所說,我有另一個結構幾乎相同的包,唯一的區別是它使用Gulp而不是Webpack。 –
輸出文件的名稱是文件名:'$ {filename} .js',所以webpack將創建一個jk-router.min.js文件...請檢查dist文件夾是否有編譯的文件 – felixmosh