Gulp -使用少量JS文件连接watchify的结果
Gulp - concat result of watchify with few JS files
我有一个使用watchify
的JS应用程序。
所以,我想把watchify
命令的结果与其他一些javascript文件连接起来,这些文件往往是全局的(jQuery
等)。这是我的Javascript watchify命令。
var source = require('vinyl-source-stream');
var gulp = require('gulp');
var gutil = require('gulp-util');
var browserify = require('browserify');
var reactify = require('reactify');
var watchify = require('watchify');
var notify = require("gulp-notify");
var scriptsDir = './scripts';
var buildDir = './build';
function handleErrors() {
var args = Array.prototype.slice.call(arguments);
notify.onError({
title: "Compile Error",
message: "<%= error.message %>"
}).apply(this, args);
this.emit('end'); // Keep gulp from hanging on this task
}
function buildScript(file, watch) {
var props = {entries: [scriptsDir + '/' + file]};
var bundler = watch ? watchify(props) : browserify(props);
bundler.transform(reactify);
function rebundle() {
var stream = bundler.bundle({debug: true});
return stream.on('error', handleErrors)
.pipe(source(file))
.pipe(gulp.dest(buildDir + '/'));
}
bundler.on('update', function() {
rebundle();
gutil.log('Rebundle...');
});
return rebundle();
}
gulp.task('build', function() {
return buildScript('main.js', false);
});
gulp.task('default', ['build'], function() {
return buildScript('main.js', true);
});
这是我用来附加javascript文件的任务。
return gulp.src([
'./bower_components/jquery/dist/jquery.min.js',
'./bower_components/redactor-wysiwyg/redactor/redactor.js',
'./build/main.js' // output of `gulp build`.
]).pipe(concat('application.js'))
.pipe(gulp.dest('./public/'));
如何使用一个函数buildScript
连接这些javascript文件
关键是nodejs流有一个end
事件。
function rebundle() {
var stream = bundler.bundle({debug: true});
stream.on('end', function() { gulp.start('everything_you_want') });
return stream.on('error', handleErrors)
.pipe(source(file))
.pipe(gulp.dest(buildDir + '/'));
}
相关文章:
- 如何将所有JS文件连接到一个文件夹中
- 什么's是连接供应商js文件的最佳方式
- Tabrisjs无法建立连接包.json文件
- Javascript/webpack:如何用自定义的文件循环连接目录中的所有json文件
- 如何通过子进程连接Java应用程序后在node.js中编写文件
- 如何在从外部连接时将外部文件包含到node-js项目中
- 如果在include文件中使用连接,Jquery ajax调用将不起作用
- 安全地包装JS文件,这样当它们连接在一起时,它们仍然可以工作
- 咕噜咕噜连接退出而不是提供本地文件
- 通过Ajax调用PHP文件中的MySQL连接singleton对象
- 从显示节点关系的csv文件中获取连接节点的数量
- Webpack连接scs文件
- 浏览器化以缩小和连接文件
- 使用 npm 作为构建工具连接文件
- Grunt Task Runner连接文件
- 提供连接文件时JavaScript的页面级执行
- 使用r.js来优化和连接文件,以便作为库使用
- felix /Node-Mysql独立连接文件
- Javascript连接文件的运行速度比单独文件慢
- 用Gulp连接文件