我正在使用
"babel-core": "^6.24.1",
"babel-loader": "^7.0.0",
"babel-preset-env": "^1.4.0",
"babili-webpack-plugin": "0.0.11",
"webpack": "^2.5.1"
在我的webpack.config.js
我已经声明了一些外部依赖:
externals: {
"package-one": "package-one",
"package-two": "package-two"
},
babel装载机配置为:
module: {
rules: [
{
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
presets: ['env']
}
}
}
]
}
我在使用这些软件包的JS文件上启动转换:
const p1 = require('package-one');
const p2 = require('package-two');
然而,转换后的输出显示:
(function(module, exports) {
module.exports = package-one;
}),
(function(module, exports) {
module.exports = package-two;
})
正如您所看到的,出口并未被""这导致最终构建中的错误。我可能在这里缺少什么?
答案 0 :(得分:1)
它解释了应该如何使用外部
externals: { // require("jquery") is external and available // on the global var jQuery "jquery": "jQuery" }
因此,您需要外部库的全局变量的有效名称:
externals: {
"package-one": "packageOne",
"package-two": "packageTwo"
},
但是当然packageOne和packageTwo必须作为全局存在,这就是外部因素的用途。
答案 1 :(得分:0)
显然你必须设置:
libraryTarget: 'umd'
output
部分中的。这将允许您在webpack.config.json
中使用任何类型的键。在这里阅读更多:
http://krasimirtsonev.com/blog/article/javascript-library-starter-using-webpack-es6