我在公开全局时遇到问题jquery
对几个npm
加载非 commonjs 库。
我有一个关注者jquery
在 package.json 中公开配置:
"browserify-shim": {
"jquery": "global:jQuery",
...
我正在尝试将此应用到此日期选择器 https://github.com/Eonasdan/bootstrap-datetimepicker来自 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')
使用全局变量构造,因为它发生在所有其余文件(包括其他库)中,例如这个编译的 bootstrap-slider :
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);
}
这个库如此特殊的原因可能是什么?
require 链的深度对于 browserify-shim 重要吗?
因为主捆绑文件中需要滑块,而日期选择器是捆绑包的依赖项的依赖项(第三级)