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之后,运行build ,得到我的bundle.js文件,其中引导脚本是第一个,jquery是第二个。 这导致$是未定义的错误,当然引导脚本不工作,因为他们依赖于jQuery。

那么,为什么Browserify以这种方式加载文件,我该如何改变它呢?

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

引导只引用$并期望它parsing为jQuery,所以尝试通过将jQuery泄漏到全局范围来尝试这个爵士:

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