webpack和amd模块集成

时间:2016-04-13 17:30:58

标签: requirejs webpack amd

我在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 ”我的外部文件?

我希望我的解释是足够的,如果我做错了什么,如果我遵循不良做法或其他什么,请解释。

提前致谢

0 个答案:

没有答案