0

每当适当的文件更改时,我想捆绑我的测试并启动业力,显示任何失败的测试。

我目前有监视任务:

gulp.task('default', ['browserify', 'css','runTests'], function () {
    gulp.watch('./src/js/**/*.js', ['browserify']);
    gulp.watch('./src/js/**/*.js', ['runTests']);
});

启动 runTests.js

var testFile = [
'./src/components/tests/suite.js'
];

// bundle tests
var cmd = child.spawn('browserify', ['-e', './src/components/tests/suite.js', '-t', 'reactify', '-t']);

cmd.on('close', function (code) {
    //cmd finished start karma
    gulp.src(testFiles)
        .pipe(karma({
            configFile: 'karma.conf.js',
            action: 'run'
        }))
        .on('error', function(err) {
            throw err;
        });
    });

我的控制台目前在这里出错:

[17:04:27] Starting 'runTests'...
[17:04:27] Finished 'runTests' after 2.73 ms
events.js:85
  throw er; // Unhandled 'error' event
        ^
Error: spawn browserify ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
at child_process.js:1144:20
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
at node.js:814:3

Process finished with exit code 1

我可以得到一个基本的命令来工作child = spawn("ls");

但不是 browserify 命令,有人可以帮忙吗?

4

1 回答 1

0

您可以在 gulp 任务中使用browserify API 。查看substack/node-browserify#1170了解有关使用 browserify 进行 globbing 的一些技巧。然后你可以在你的 karam 配置文件数组中包含输出文件。

// Disclaimer: This code is untested
var files = require("glob").sync('./src/js/**/*.js');
files.push('./src/components/tests/suite.js');

var browserify = require("browserify")(files, {transform: 'reactify'});
// your can do more config on the browserify instance

// Run browserify bundle and output to a file
var myFile = require('fs').createWriteStream('myOutput.txt');
browserify.bundle().pipe(myFile);
于 2016-04-13T19:19:24.717 回答