使用Webpack,我为项目导出两个分发文件。一个有依赖关系捆绑,一个没有。
在整个应用程序中,我们使用commonjs require('lodash.assign');
包含哪些webpack理解。
但是,我已经将我们的一个版本配置为忽略这些(对于已经使用lodash并且可以使用它的用户)。
externals = {
'lodash.assign': 'var _.assign',
'lodash.clonedeep': 'var _.cloneDeep'
};
这可以按预期工作。但是,因为我们的libraryTarget
是umd
,我们支持RequireJS。但是,RequireJS仍然认为应该加载这些文件,并且我发现了大量错误:
require.min.js:1 GET http://127.0.0.1/_.assign.js req.load
@ Uncaught Error: Script error for "_.assign"
它无法找出在哪里找到脚本。我如何配置webpack,甚至要求js忽略这些,因为它们是由webpack映射的?
通过查看编译后的输出,我看到requirejs认为它应该加载这些文件的原因:
define(["_.assign", "_.cloneDeep"], factory);
当我手动修改以下代码时,它可以工作:
define(['lodash'], factory);