为什么 Browserify 只导出这些 jQuery 变量之一?
Why does Browserify only export one of these jQuery variables?
我的 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));
})
声明
var $ = jQuery = require('jquery');
定义了一个局部变量,$
,和一个全局变量,jQuery
。
您可以改用这个:
$ = jQuery = require('jquery');
将 $
和 jQuery
定义为全局变量。
我的 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));
})
声明
var $ = jQuery = require('jquery');
定义了一个局部变量,$
,和一个全局变量,jQuery
。
您可以改用这个:
$ = jQuery = require('jquery');
将 $
和 jQuery
定义为全局变量。