【问题标题】:How to use 'babel-plugin-angularjs-annotate' in GULP如何在 GULP 中使用“babel-plugin-angularjs-annotate”
【发布时间】:2021-12-14 19:11:10
【问题描述】:

当我尝试使用 GULP 构建时遇到此错误

[18:48:23] 'makeScripts' 在 2.53 秒后出错 [18:48:23] 插件“gulp-ng-annotate”中的错误 信息: metisMenu.js:错误:由于解析错误而无法处理源代码 意外令牌 (113:8) 细节: 域发射器:[对象对象] 域:[对象对象] 域抛出:错误

似乎是因为metisMenu.js中有这种语法..

class MetisMenu { 
    // eslint-disable-line no-shadow
    constructor(element, config) {
      this.element = element;
      this.config = {
        ...Default,
        ...config,
      };

这似乎是 es6 语法

在我的 gulp 文件中,我使用的是我发现已弃用的文件

var ngAnnotate = require('gulp-ng-annotate');

所以改用这个

var ngAnnotateNew = require('babel-plugin-angularjs-annotate');

但是,如果我在这里简单地将 ngAnnotate 替换为 ngAnnotateNew,则会出现错误。“dest.on 不是函数

stream = stream
.pipe(ngAnnotateNew())
.pipe(concat(name + '.min.js'));

我看到的所有使用新插件的示例都使用 babel.rc 文件,但我没有这样的文件。它只是使用 gulp 以及 angularJS/NPM 等。

提前致谢

【问题讨论】:

    标签: angularjs gulp ng-annotate


    【解决方案1】:

    问题是 var ngAnnotate = require('gulp-ng-annotate'); 不应该在非 angularJS 库上使用,所以我在我的 gulp 文件中将 angularJS 库与非 angularJS 库分开。

    它已被弃用,但它可以工作,而且 AngularJS 无论如何也被弃用了。我的项目需要尽快迁移到 Angular 10。

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 2018-08-27
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      相关资源
      最近更新 更多