我似乎不能reactify
与coffeeify
合作。我跟着Reactify的自述文件无济于事。
### @jsx React.DOM ###
console.log 'hi'
browserify -t coffeeify -t [ reactify -x coffee] ./src/coffeescripts/app.coffee
/Users/mueller.128/repos/klc/react_colorpicker/src/coffeescripts/app.coffee:1
/** @jsx React.DOM */
^
ParseError: regular expressions cannot begin with `*`
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var watchify = require('watchify');
var coffeeify = require('coffeeify');
var reactify = require('reactify');
gulp.task('browserify', function() {
return browserify('./src/coffeescripts/app.coffee')
.transform({ }, coffeeify)
.transform({ extension: "coffee" }, reactify)
.bundle({debug: true})
.pipe(source('./src/bundle.js'))
.pipe(gulp.dest('./build/javascripts/'));
});
感谢您的帮助。
答案 0 :(得分:1)
我遇到了同样的问题 - ParseError: regular expressions cannot begin with `*`
- 当使用coffee-reactify
作为duereg建议时。在the recipe from the gulp recipe之后,我引导了我:
bundler = browserify 'test.cjsx', {
transform : [ require 'coffee-reactify' ]
}
......展示了这个问题。浏览器中的一些临时日志记录显示它是某种微妙的错误,当以这种方式指定变换时,变换会被添加两次,这证实了Ben怀疑编译器运行了两次。将其更改为以下内容:
bundler = browserify 'test.cjsx'
bundler.transform require 'coffee-reactify'
...完全解决了这个问题。
一个有效的例子:
gulp = require 'gulp'
gutil = require 'gulp-util'
browserify = require 'browserify'
source = require 'vinyl-source-stream'
bundler = browserify './test.cjsx'
bundler.transform require 'coffee-reactify'
bundle = ->
return bundler.bundle()
.on 'error', gutil.log.bind(gutil, 'Browserify Error')
.pipe source 'all-scripts.js'
.pipe gulp.dest './.dist'
gulp.task 'default', ->
bundle()
test.cjsx
只是:
# @cjsx React.DOM
答案 1 :(得分:0)
browserify -t coffeeify -t [ reactify -x] ./app.coffee
答案 2 :(得分:0)
我对以下gulp任务感到满意。请注意,您必须安装coffee-reactify插件才能实现此目的。
var gulp = require('gulp');
var browserify = require('gulp-browserify');
var rename = require('gulp-rename');
gulp.task('browserify', function() {
gulp.src('./src/coffeescripts/app.coffee', { read: false })
.pipe(browserify({
debug: true
transform: ['coffee-reactify'],
extensions: ['.coffee']
}))
.pipe(rename('./src/bundle.js'))
.pipe(gulp.dest('./build/javascripts/'))
});