这是一个间歇性问题。也就是说,我可以重复执行相同的构建命令n次,而无需进行任何更改,有时它可以正常工作,有时(〜30%)似乎没有任何原因会失败。我已经忍受了几个月,但是非常烦人。
我正在使用node(v0.10.35)和browserify(v6.3.4)和brfs(v1.2.0)在我的JavaScript中 bundle 一些html。间歇地,构建失败并显示:
events.js:72
throw er; // Unhandled 'error' event
^
SyntaxError: Unterminated string constant (17:4) while parsing file: blah.js
at raise (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:333:15)
at readString (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:1073:11)
at getTokenFromCode (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:854:14)
at readToken (./httpd/node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:902:15)
at next (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:1232:5)
at eat (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:1335:7)
at expect (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:1360:5)
at parseExprList (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:2443:9)
at parseSubscripts (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:2032:24)
at parseSubscripts (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:2021:14)
at parseExprSubscripts (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:2012:12)
at parseMaybeUnary (./node_modules/brfs/node_modules/static-module/node_modules/falafel/node_modules/acorn/acorn.js:1995:16)
这是不同的行号,但是每次构建失败时,它都指向
fs.readFileSync(
我认为这并不重要,但我正在使用gulp v3.8.8。我的任务很简单。
var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
gulp.task('build', function(cb) {
return browserify(app.src, {
fullPaths: true,
transform: ['brfs'],
debug: true
}).bundle().pipe(source(app.name)).pipe(gulp.dest(app.dest));
});
同一项目中的其他节点和gulp版本稍有不同,甚至不同的OS也都遇到相同的问题。
更新:它也失败,只是带有相同消息的browserify + brfs(最新版本)。我坚信这是brfs的问题,因为如果我省略转换,它似乎不会失败。
var browserify = require('browserify');
var fs = require('fs');
var b = browserify('blah.js');
b.transform('brfs');
b.bundle().pipe(fs.createWriteStream('out.js'));
最佳答案
我通过类似的设置遇到了这个问题(不过,使用reactify进行转换;它只是在错误消息中提供了“Unterminated string constant”,而未指定js文件)。原来我在json文件中有语法错误(字符串文字内的流水线)。
关于javascript - 间歇性的Browserify捆绑包故障(可能是BRF),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29462510/