需要jQuery和lodash与browserify

我喜欢browserify的想法,但是我在包装需要“全局”variables(如jQuery和lodash)方面遇到了麻烦。 我会期待:

// application.js var $ = require('jquery') var _ = require('lodash') var a = require('./path/to/module/a.js') 

使$_可用于模块a。 毕竟,这个代码是编译的, $_是首先定义的。 但是,我得到一个问题,页面不会加载,说$_是未定义的。 好吧,我不明白,但至less我会期待:

 // a.js var $ = require('jquery') var _ = require('lodash') var AClass = function() { console.log($, _) } module.exports = AClass 

运行没有问题。 但是,我不断收到错误,说$_没有定义,即使在这两个文件中的以下代码工作:

 var $ = require('jquery') var _ = require('lodash') console.log($, _) 

除此之外,我的应用程序是否有问题,或者我有些基本上对browserify不了解?

我们使用的是browserify(在我们的例子中是gulp),我们使用thw窗口对象初始化全局variables。 这样,如果你必须做一些testing,你也可以在你的控制台中使用它们。

 window._ = require('lodash'); 

或者,如果您使用ES6:

 import _ from 'lodash'; window._ = _; 

希望这可以帮助

Interesting Posts