Javascript 在不使用watchify的情况下使用brfs进行监视和绑定的命令

Javascript 在不使用watchify的情况下使用brfs进行监视和绑定的命令,javascript,watchify,brfs,Javascript,Watchify,Brfs,我试图用brfs转换复制watchify的行为,但我需要直接使用brfs,因为我想避免在使用require和browserify/watchify时向脚本添加额外的代码。直接使用brfs只需将require(theFile)替换为其内容,而不使用其他内容 使用此命令捆绑以下代码将产生我的预期结果: brfs main.js > bundle.js 如何设置某些内容以监视更改,并在更改时让brfs再次捆绑脚本?您可以尝试 那么吞咽的任务将是 gulp.task('default', she

我试图用
brfs
转换复制
watchify
的行为,但我需要直接使用
brfs
,因为我想避免在使用
require
和browserify/watchify时向脚本添加额外的代码。直接使用
brfs
只需将
require(theFile)
替换为其内容,而不使用其他内容

使用此命令捆绑以下代码将产生我的预期结果:

brfs main.js > bundle.js
如何设置某些内容以监视更改,并在更改时让
brfs
再次捆绑脚本?

您可以尝试

那么吞咽的任务将是

gulp.task('default', shell.task(['brfs main.js > bundle.js']);

不确定这是否适合你的情况。。。但您也可以使用此插件检测新文件并将其导出:

使用更少文件并与一个连接的css文件进行比较的示例:

function lessVersusOneFile(projectDir, srcFile, absSrcFile) {
    //newy gives projectDir arg wich is '/home/one/github/foo/` 
    var compareFileAgainst = "compiled/css/application.css";

    var destination = path.join(projectDir, compareFileAgainst);
    // distination returned will be /home/one/github/foo/compiled/css/application.css 
    return destination;
}
// all *.less files will be compared against 
// /home/one/github/foo/compiled/css/application.css 

gulp.task('compileLessToCss', function () {
    return gulp.src('app/css/**/*.less')
        .pipe(newy(lessVersusOneFile))
        .pipe(less())
        .pipe(gulp.dest('compiled/css'));
});

我认为使用<代码> BRFS 编程API是最合适的方法。与我们在js聊天中讨论的示例唯一不同的是,您需要使用

fs.createReadStream
将文件导入
brfs
,而不是像我们刚才那样将文件名直接传递给
brfs

var gulp = require('gulp');
var brfs = require('brfs');
var fs   = require('fs');

// task without watch
gulp.task('bundle-templates', function() {
  fs.createReadStream('main.js')
    .pipe(brfs())
    .pipe(fs.createWriteStream('bundle.js'))
  ;
});

// this runs the `bundle-templates` task before starting the watch (initial bundle)
gulp.task('watch-templates', ['bundle-templates'], function() {
  // now watch the templates and the js file and rebundle on change
  gulp.watch([
    'templates/*.html',
    'main.js'
  ], ['bundle-templates']);
});
现在运行此命令,即可完成所有设置:

gulp watch-templates

gulp
在这里是不必要的。您可以使用任何任务运行程序或直接执行节点脚本来重新创建此任务。您可以直接使用观看文件,这是gulp用于
gulp的同一个观看者。观看

谢谢您的回答。
gulp watch-templates