我有使用AMD的依赖项,我想使用webpack导入它。依赖项定义了几个命名的AMD模块,我希望能够选择webpack在导入时应考虑的入口点。似乎webpack立即执行所有已定义模块的工厂,而不是将其延迟到第一次导入。
简化示例:
webpack.config.js
const path = require("path");
module.exports = {
entry: "./src/index.js",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "public")
}
};
index.js
console.log("Script execution starts");
const testAmdModule = require("./amd");
console.log("testAmdModule is loaded");
amd.js
define("test.amd.module", [], () => {
console.log("test.amd.module factory called");
return () => {
console.log("test.amd.module instance called");
};
});
在构建并执行bundle.js
之后,我希望看到以下输出:
Script execution starts
testAmdModule is loaded
但我得到以下输出:
Script execution starts
test.amd.module factory called
testAmdModule is loaded
如果我使用RequireJS来执行amd.js中的代码,那么什么都不会发生,这就是我所期望的。
如何告诉webpack amd包的入口点?在上面的例子中,它将是“test.amd.module”。
谢谢, 诺贝特