coffeescript - 使用 gulp + browserify + watchify + coffeeify 尝试重新传输 javascript 而不是 coffeescript

标签 coffeescript gulp browserify watchify

当我第一次浏览我的 coffeescript 代码时,它运行良好。但是,当我更改我的源代码并 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 一起工作?

最佳答案

将您的转换移到 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();

}

关于coffeescript - 使用 gulp + browserify + watchify + coffeeify 尝试重新传输 javascript 而不是 coffeescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29558802/

相关文章:

javascript - 未通过 jQuery/CoffeeScript 设置所选值

jquery - 将 jquery 代码转换为 Coffeescript 代码时出错

javascript - Gulp 缩小并且不复制原始文件

javascript - 在管道传输到 gulp browserify 期间如何获得错误通知?

javascript - 将 html 模板解析为客户端 JS。 Angular + Browserify + Babel + ES2015 + Gulp

javascript - 如何让 Guard 自动编译我的 Coffeescript 文件?说是但不是

javascript - 从机器人中隐藏 URL 的方法(类似于 tripadvisor.com)

javascript - 使用 Gulpjs 编译客户端 Jade 模板

javascript - Gulp livereload 在 Chrome 中不工作

javascript - Browserify:导出模块并通过脚本标签访问