我正在使用ngx-build-plus使用一些webpack额外的配置来打包我的Angular元素。在我的webpack额外配置中,我想排除名称以“ @”开头的依赖项,例如@ angular / core。我知道@ angular / core可以通过将其映射到ng.core来排除,但是对于我要使用的库,我认为我不能使用ng链接它,因为它不是角度依赖性。我收到以下错误。
const webpack = require('webpack');
module.exports = {
externals: {
'@somelib/core': '@somelib/core' // Does not work
}
};
Terser的main-es2015.js中的错误 意外字符'@'[main-es2015.js:101,17]
答案 0 :(得分:1)
在添加@ blueprintjs / core作为外部依赖项时,我遇到了同样的问题。 查看webpack生成的文件(在优化选项中使用minimum:false),问题似乎与导出有关:
module.exports = @blueprintjs/core;
将以下内容添加到我的webpack.config中:
output: {
// https://github.com/webpack/webpack/issues/1114
libraryTarget: 'commonjs2'
},
允许正确配置webpack产生的需求:
module.exports = require("@blueprintjs/core");
查看github issue并没有给我更多有关如何/为什么的信息,但我希望它能对其他人有所帮助