【问题标题】:ReferenceError: $traceurRuntime is not defined (in angularjs app)ReferenceError:$traceurRuntime 未定义(在 angularjs 应用程序中)
【发布时间】:2014-12-18 02:41:54
【问题描述】:

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

ReferenceError: $traceurRuntime is not defined

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

【问题讨论】:

    标签: javascript angularjs gulp ecmascript-6 gulp-traceur


    【解决方案1】:

    $traceurRuntime 是全局范围内的对象,而不是 Angular 可注入对象。该对象来自于在您的应用程序中包含 traceur 运行时脚本文件 (traceur-runtime.js)。 Make sure you include the 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'));
    });
    

    【讨论】:

    • 谢谢!你知道我怎样才能找到运行时路径吗?是traceur住的地方吗?对我来说,这是:/usr/local/bin/traceur
    • @Rimian Phrasing 有点不对劲。您应该将运行时路径设置为 gulp.src 的条目,以便将其拉入。更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2016-03-29
    • 2019-12-31
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2012-11-25
    • 2021-06-04
    相关资源
    最近更新 更多