【问题标题】:Using gulp + browserify + watchify + coffeeify tries to retranspile javascript instead of coffeescript使用 gulp + browserify + watchify + coffeeify 尝试重新编译 javascript 而不是 coffeescript
【发布时间】:2015-04-10 10:11:56
【问题描述】:

当我第一次浏览我的咖啡脚本代码时,它运行良好。但是,当我对源代码进行更改并 watchify 尝试重新运行捆绑时,coffeeify 似乎想要针对我的 javascript 运行 coffeescript - 基于我从 gulp 得到的这个错误:

events.js:72
    throw er; // Unhandled 'error' event
          ^
SyntaxError: reserved word 'var' while parsing file: /Volumes/dev/app/frontend/editor/main.coffee

这是我的 Gulpfile:

var gulp = require('gulp');
var gutil = require('gulp-util');
var watchify = require('watchify');
var browserify = require('browserify');
var coffeeify = require('coffeeify');
var source = require('vinyl-source-stream');
var stringify = require('stringify');
var _ = require('underscore');

var browserifyOpts = {
  basedir: "./app/frontend/editor",
  debug: true,
  extensions: ['.coffee'],
  entries: ['./main.coffee']
};
var opts = _.extend({}, watchify.args, browserifyOpts);
var bundler = browserify(opts);
var watch = watchify(bundler);

watch.on('update', bundle);
watch.on('log', gutil.log);

function bundle() {

  var b = function() {
    return bundler
      .transform(stringify(['.html']))
      .transform('coffeeify')
      .bundle()
      .pipe(source('main.js'))
      .pipe(gulp.dest('app/assets/javascripts/bundles'));
  };

  return b();

}

gulp.task('default', ['browserify-main']);
gulp.task('browserify-main', bundle);

如何使捆绑过程也与 watchify 一起工作?

【问题讨论】:

    标签: coffeescript gulp browserify watchify


    【解决方案1】:

    将你的变换移到 bundle 函数之外:

    var bundler = browserify(opts);
    bundler.transform(stringify(['.html']))
    bundler.transform('coffeeify')
    var watch = watchify(bundler);
    
    watch.on('update', bundle);
    watch.on('log', gutil.log);
    
    function bundle() {
    
      var b = function() {
        return bundler
          .bundle()
          .pipe(source('main.js'))
          .pipe(gulp.dest('app/assets/javascripts/bundles'));
      };
    
      return b();
    
    }
    

    【讨论】:

    • 成功了!谢谢你。我不知道为什么……很容易解释为什么会有所作为吗?
    猜你喜欢
    • 2014-10-03
    • 1970-01-01
    • 2016-09-14
    • 2016-02-22
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 2014-01-08
    相关资源
    最近更新 更多