对从外部 javascript 引用的 ES6 代码使用 gulp+browserify+babalify。
Use of gulp+browserify+babalify for ES6 code referenced from external javascript.
我一直在使用 es6 类 进行主要项目的副项目,导入和导出。主要代码使用Angular1(即AngularJS)
我遵循了这里和其他地方关于使用 browsify 和 babelify 的建议,几乎已经开始工作了,但我仍然坚持我希望的最后一步。我无法从主代码引用我的库。
我们使用 gulp,所以我需要将其融入该框架。我想出了以下内容来创建库:
function cliCompile() {
console.log('Compiling client-server...');
return browserify({
entries: 'cli/main.js',
debug: true,
require: './cli/main.js',
transform: [babelify]})
.bundle()
.pipe(source('cli.js'))
.pipe(gulp.dest('./app/compiled'));
}
由此生成的要求对我的计算机(完整路径)是唯一的,所以我显然需要使用别名。但是,别名似乎不适用于上述内容,或者我不知道正确的格式。将要求行更改为
require: 'cli/main.js:CSMain"
没有工作,因为它将完整的引用字符串视为 filename/module.
有没有办法重写它以便它可以工作并有一个我可以在主要 angular 代码中引用的别名?请注意,引用我上面给出的函数的行是:
gulp.task('cli', cliCompile);
别名确实解决了这个问题。但是,当您将 require 作为初始参数的一部分传递时,您似乎无法指定 require 选项。
改为调用 .require 如下:
gulp.task('cli', cliCompile);
....
function cliCompile() {
console.log('Compiling client-server...');
var b = browserify({
entries: 'cli/main.js',
debug: true,
transform: [babelify]});
b.require('./cli/main.js', {expose: 'cli'});
return b.bundle()
.pipe(source('cli.js'))
.pipe(gulp.dest('./app/compiled'));
}
也可以将要求放在列表中:
return browserify({
entries: 'cli/main.js',
debug: true,
transform: [babelify]})
.require('./cli/main.js', {expose: 'cli'})
.bundle()
.pipe(source('cli.js'))
.pipe(gulp.dest('./app/compiled'));
我一直在使用 es6 类 进行主要项目的副项目,导入和导出。主要代码使用Angular1(即AngularJS)
我遵循了这里和其他地方关于使用 browsify 和 babelify 的建议,几乎已经开始工作了,但我仍然坚持我希望的最后一步。我无法从主代码引用我的库。
我们使用 gulp,所以我需要将其融入该框架。我想出了以下内容来创建库:
function cliCompile() {
console.log('Compiling client-server...');
return browserify({
entries: 'cli/main.js',
debug: true,
require: './cli/main.js',
transform: [babelify]})
.bundle()
.pipe(source('cli.js'))
.pipe(gulp.dest('./app/compiled'));
}
由此生成的要求对我的计算机(完整路径)是唯一的,所以我显然需要使用别名。但是,别名似乎不适用于上述内容,或者我不知道正确的格式。将要求行更改为
require: 'cli/main.js:CSMain"
没有工作,因为它将完整的引用字符串视为 filename/module.
有没有办法重写它以便它可以工作并有一个我可以在主要 angular 代码中引用的别名?请注意,引用我上面给出的函数的行是:
gulp.task('cli', cliCompile);
别名确实解决了这个问题。但是,当您将 require 作为初始参数的一部分传递时,您似乎无法指定 require 选项。
改为调用 .require 如下:
gulp.task('cli', cliCompile);
....
function cliCompile() {
console.log('Compiling client-server...');
var b = browserify({
entries: 'cli/main.js',
debug: true,
transform: [babelify]});
b.require('./cli/main.js', {expose: 'cli'});
return b.bundle()
.pipe(source('cli.js'))
.pipe(gulp.dest('./app/compiled'));
}
也可以将要求放在列表中:
return browserify({
entries: 'cli/main.js',
debug: true,
transform: [babelify]})
.require('./cli/main.js', {expose: 'cli'})
.bundle()
.pipe(source('cli.js'))
.pipe(gulp.dest('./app/compiled'));