我的Browserify捆绑的入口点文件只包含一行:
var $ = jQuery = require('jquery');
为什么这只会将jQuery
作为变量导出到全局范围,而不是$
导出jQuery
?
我使用Gulp进行浏览器化 - 这是我的gulpfile中的相应代码:
/** Vendor compilation */
.task('vendor', ['clean'], function() {
// package.paths.vendor is my one line file referenced above
var b = browserify(package.paths.vendor);
getBowerPackageIds().forEach(function (id) {
var resolvedPath = bowerResolve.fastReadSync(id);
b.require(resolvedPath, {
// exposes the package id, so that we can require() from our code.
// for eg:
// require('./vendor/angular/angular.js', {expose: 'angular'}) enables require('angular');
// for more information: https://github.com/substack/node-browserify#brequirefile-opts
expose: id
});
});
return b
.bundle()
.pipe(source(package.dest.vendor))
.pipe(gulp.dest(package.dest.dist));
})
答案 0 :(得分:1)
声明
var $ = jQuery = require('jquery');
定义了一个局部变量$
和一个全局变量jQuery
。
你可以改用它:
$ = jQuery = require('jquery');
将$
和jQuery
定义为全局。