试图将其放入监视任务中?
browserify -e test/spec/suite.js -t reactify -t rewireify -o test/spec/bundle.js
目前我的 gulp 文件是这样的:
var gulp = require('gulp'),
requireDir = require('require-dir');
requireDir('./gulp-tasks');
gulp.task('default', ['browserify','css','karma'], function () {
gulp.watch('../App/src/**/*.js', ['browserify']);
gulp.watch('../App/src/**/*.css', ['css']);
gulp.watch('../App/src/tests/**/*.js', ['rewireify']);
gulp.watch('../App/src/tests/**/*.js', ['karma']);
});
gulp.task('production', ['react', 'css']);
rewireify.js:
var gulp = require('gulp'),
concat = require('gulp-concat'),
rewireify = require('rewireify');
gulp.task('css', function () {
gulp.src([
'./App/src/tests/**/*.js'
])
.pipe(concat('bundletest.js'))
.pipe(rewireify())
.pipe(gulp.dest('test/spec/bundle.js'));
});
当我运行 gulp 任务时出现错误:
TypeError: Cannot read property 'ignore' of undefined
at rewireify (d:\Source\Workspaces\\node_modules\rewireify\lib\index.js:12:20)
at Gulp.<anonymous> (d:\Source\Workspaces\Call Parents\DEV\CG.CallParents.Web\Areas\Beta\gulp-tasks\rewireify.js:10:15)
at module.exports (d:\Source\Workspaces\\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (d:\Source\gulp\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (d:\Source\\gulp\node_modules\orchestrator\index.js:214:10)
at Gulp.Orchestrator.start (d:\Source\Workspaces\\node_modules\gulp\node_modules\orchestrator\index.js:134:8)
at C:\Users\matthew.harris\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
有人知道我怎样才能让它工作吗?
最佳答案
要记住的关键点是 rewireify(喜欢这个名字)是一个转换:
The most powerful feature in Browserify are source transforms. A source transform is a stream injected between the resolved module and the content that is returned. A simple use case for using a source transform is compiling CoffeeScript to JavaScript.
http://blakeembrey.com/articles/2013/09/introduction-to-browserify/
无论如何,我的建议是将 gulp-concat
部分分离到它自己的任务中,然后创建一个 rewireify 任务,您将在之后调用该任务:
gulp.task("build-functional", function () {
return browserify('some-gulp-concatenated.js', {})
.transform(rewireify, rewireifyOptions)
.bundle()
.pipe(gulp.dest('test/spec/bundle.js'))
}
查看 here再举个例子。
关于javascript - 为 rewireify 创建 gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511042/