我在Web应用程序中有以下场景:
我有一些包含多个amd模块的外部js文件(它们是由typescript生成的,但我现在不想使用ts-loader)。 这些文件中的每一个都包含多个amd模块,例如:
define("Namespace/Module1", ["require", "exports"], function (require, exports) {
....
}
define("Namespace/Module2", ["require", "exports"], function (require, exports) {
....
}
在我的主应用程序中,我使用
请求由这些文件导出的模块var a = require("Namespace/Module1").
我使用SystemJs直到现在,使用正确的配置,一切正常,但我想开始使用webpack进行捆绑,我不知道如何将这些文件添加为“require”依赖项。
我在导入requireJS之后尝试将它们添加为脚本标记,但是(当然),webpack loader使用自己的“require”加载程序并且它不起作用。
在webpack配置中使用externals使得webpack认为它们不是模块,而是全局变量,因此它从生成的bundle中排除 require(“aaa”)并期望全局 aaa 变量
function(module, exports) {
module.exports = aaa;
}
我如何告诉webpack他在生成我的捆绑包时仍然应该使用 require(“命名空间/模块”),但在此之前,调用所有“ define ”我的外部文件?
我希望我的解释是足够的,如果我做错了什么,如果我遵循不良做法或其他什么,请解释。
提前致谢