【发布时间】:2017-01-09 17:25:03
【问题描述】:
我尝试使用 Browserify 和 Gulp 将已编译的 js 包文件保存到生产目录。
但似乎 Browserify 找不到输出目录的有效路径。
下面是代码sn-p:
browserify({ debug: true })
.transform(babelify.configure({
presets: ['es2015', 'react']
}))
.require('./client/client.js', { entry: true })
.bundle()
.on('error', (err) => {
console.log(err);
})
.on('end', () => {
console.timeEnd();
})
.pipe(gulp.dest('dist/public/bundle.js'));
我收到以下错误:
[19:37:57] Finished 'lint' after 14 s
path.js:7
throw new TypeError('Path must be a string. Received ' + inspect(path));
^
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.resolve (path.js:1148:7)
at DestroyableTransform.saveFile [as _transform]
我尝试使用手动方式:
.pipe(fs.createWriteStream(`${__dirname}/dist/public/bundle.js`));
它不起作用。 但以下工作:
.pipe(fs.createWriteStream(`${__dirname}/dist/bundle.js`));
这里文件夹“dist”存在于目录中,但在“dist”中不存在“public”。
我认为这就是原因,但我该如何解决它以将捆绑文件保存到“dist/public”?
【问题讨论】:
标签: node.js reactjs gulp ecmascript-6 browserify