3

我在将全局暴露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 级)

4

0 回答 0