1

我正在使用 [gulp-traceur][1] 在我的 angularjs 应用程序(1.x)中将 es6 编译为 js。当我尝试编译for循环时,出现错误:

ReferenceError: $traceurRuntime is not defined

看起来我需要将 $traceurRuntime 注入我的控制器或其他东西。谁能帮我吗?

4

1 回答 1

6

$traceurRuntime是全局范围内的对象,而不是 Angular 可注入对象。该对象来自于traceur-runtime.js在您的应用程序中包含 traceur 运行时脚本文件 ( )。确保你包含了,traceur.RUNTIME_PATH所以 gulp 任务知道在编译期间在哪里可以找到它并包含它。

假设您的 gulpfile 看起来像这样:

// gulpfile.js
var traceur = require('gulp-traceur');

// ...

gulp.task('build', function() {
  return gulp.src([
    traceur.RUNTIME_PATH, // <-- add this
    'src/**/*.*'
  ])
  .pipe(traceur({ /* traceur config */ })
  .pipe(gulp.dest('/dist'));
});
于 2014-12-18T06:03:08.160 回答