我不知道该如何表达这个问题,因此我将举一个例子。 (随时将问题标题编辑为更合适的内容)
考虑以下示例:
import foo from 'foo'
import bar from 'bar'
import DATA from './data.json'
const MY_DATA = foo.process(DATA).filter(bar.isBar)
export default class {
get data() {
return MY_DATA
}
propA = true
methodB() {
// ...
}
}
是否可以导入仅由Webpack捆绑的此类(以及MY_DATA
的内容)的此模块?也就是说,以某种方式明确表明我不想在此块中包括“ foo”,“ bar”或“ ./data.json”。
在过去,我会使用ignore插件来执行此操作,但是我不确定这是否仍然是Webpack 4的唯一选择,因为在整个构建过程中忽略模块并不总是令人满意的效果。
感谢任何提示!
答案 0 :(得分:1)
我认为您正在寻找externals
。
从Docs:
防止捆绑某些导入的软件包,而是检索 运行时这些外部依赖项。
module.exports = {
//...
externals: {
foo: 'foo',
bar: 'bar',
DATA: './data.json'
}
};
这需要您将外部化的脚本手动添加到HTML文档中。