我的库是用webpack构建的。 libraryTarget是UMD。问题出在我的依赖项上。例如,我使用的是jQuery。我的webpack配置如下:
// Only relevant config is shown below
module.exports = {
externals: {
"jquery" : "jquery"
}
};
在AMD环境中它可以工作。我可以毫无问题地要求:
define(['jquery'], function($) {});
但是如果我想在非模块加载器环境中使用构建文件,那么“$ is not defined”。当然解决方案是以这种方式更改webpack配置:
// the Q is now upper case
"jquery" : "jQuery"
比在非模块加载器环境中工作。但这次它不再适用于AMD环境因为requirejs试图加载 jQuery.js 而不是 jquery.js !
我该如何解决这个问题?