将依赖项添加到在库名称中带有“ @”的外部项

问题描述 投票:0回答:1

我正在使用ngx-build-plus将我的Angular元素与一些webpack额外的配置打包在一起。在我的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]

javascript webpack webpack-2 webpack-4
1个回答
0
投票

添加@ 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并没有给我更多有关如何/为什么的信息,但我希望它会对其他人有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.