Angular ng annotate不适用于babel

时间:2015-05-19 12:40:33

标签: javascript angularjs gulp

我正在使用browserify和babel来编译我的js文件,我也想要ng annotate插件但它不起作用,任何想法为什么?

gulp任务:

  browserify(config.js.src, { debug: true })
    .transform(babel.configure({ ignore: /vendor\// }))
    .bundle()
    .pipe(source(config.js.mainFileName))
    .pipe(buffer())
    .pipe(sourcemaps.init({ loadMaps: true }))
    .pipe(ngAnnotate())
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest(config.js.dist));

class HomeController {
  // @ngInject
  constructor($http) {
    this.name = 'avi';
  }
}

export default HomeController;

1 个答案:

答案 0 :(得分:3)

我认为在你的情况下,巴贝尔正在剥离评论。 Ng-annotate使用已编译的es5代码,并且必须以某种方式知道要注释的内容。您可以使用comments: truecompact: false运行babel以保留注释或使用字符串文字:

constructor($http) {
    "ngInject";
    this.name = 'avi';
}