javascript - Browserify 更改依赖项的加载顺序

标签 javascript node.js frontend browserify

问题是 Browserify 在加载 jquery 之前加载 bootstrap 的 javascript。

我的 package.json 中有这个

"scripts": {
    "build": "browserify app/scripts/main.js -o app/scripts/bundle.js"
},

并且我需要 main.js 文件中的依赖项,如下所示:

var $ = require('jquery');
var bootstrap = require('bootstrap-sass');
var value = require('./test.js');

运行npm run build后,我得到了bundle.js文件,其中引导脚本是第一个,jquery是第二个。这会导致 $ is undefined 错误,当然还会导致引导脚本无法工作,因为它们依赖于 jquery。

那么,为什么 Browserify 以这种方式加载文件以及如何更改它?

最佳答案

Browserify 将按顺序加载您的模块,但您必须注意依赖全局范围来解决其依赖关系的浏览器脚本。

Bootstrap 只是引用 $ 并期望它解析为 jQuery,因此通过将 jQuery 泄漏到全局范围来尝试这个爵士乐:

var jquery = require('jquery');
global.$ = global.jQuery = jquery;

require('bootstrap-sass');

关于javascript - Browserify 更改依赖项的加载顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33019133/

相关文章:

reactjs - 从 react-router 导入 browserHistory

javascript - 适合并防止 Canvas 内的图像位置

javascript - 嵌套在默认路由中

javascript - D3 时区偏移量移至前一天

javascript - document.referrer 不返回完整的 url

node.js - 测验网站的 Mongo 架构

css - Foundation5 源代码排序 : content vs. 侧边栏

javascript - 加密.js : "Uint8ClampedArray" is undefined in IE 11

javascript - 嵌套的 JSON.parse 错误和 JS 对象遍历错误未被 JS try/catch 捕获,导致服务器崩溃

node.js - Nodejs 中的 connect-redis