我在将全局暴露jquery
给几个npm
加载的非 commonjs 库时遇到了问题。
jquery
我在 package.json中有以下公开配置:
"browserify-shim": {
"jquery": "global:jQuery",
...
我正在尝试将此应用到来自eonasdan的具有 common-js 依赖关系解析的日期选择器:
'use strict';
if (typeof define === 'function' && define.amd) {
// AMD is used - Register as an anonymous module.
define(['jquery', 'moment'], factory);
} else if (typeof exports === 'object') {
factory(require('jquery'), require('moment'));
} else {
但是编译的文件不会替换require('jquery')
为全局变量构造,因为它发生在包括其他库在内的所有其余文件中,例如这个编译的引导滑块:
if(typeof define === "function" && define.amd) {
define(["jquery"], factory);
}
else if(typeof module === "object" && module.exports) {
var jQuery;
try {
jQuery = (typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null);
}
catch (err) {
jQuery = null;
}
module.exports = factory(jQuery);
}
这个库如此特殊的原因可能是什么?
需要链的深度对 browserify-shim 有影响吗?导致主捆绑文件中需要滑块,而 datepicker 是捆绑包的依赖项(第 3 级)