与pbastowski的角度流星冲突:angular-babel和webpack:webpack

时间:2015-12-12 03:52:14

标签: angularjs meteor webpack angular-meteor

我正在尝试使用webpack和我的角度流星应用程序。不幸的是,meteor构建失败并出现以下错误:

While determining active plugins:
    error: conflict: two packages included in the app (pbastowski:angular-babel and webpack:webpack) are both trying to handle *.js

angular-meteor软件包依赖于pbastowski:angular-babel支持ES2015,而webpack使用babel-loader。知道我怎么能避免这种冲突吗?

2 个答案:

答案 0 :(得分:1)

这是一个Meteor消息,当两个Meteor软件包尝试为同一个文件扩展名添加Meteor编译器插件时会出现,在本例中为" .js"。

选项1

从项目中删除webpack:webpack。您真的需要在Meteor项目中使用webpack吗? Meteor捆绑了一切,因此,没有必要使用webpack。如果要使用ES6模块,请考虑使用pbastowski:systemjs

    meteor remove webpack:webpack

我不知道您使用网络包的原因,但我想我提到了这个选项。

选项2

您可以将pbastowski:angular-babel配置为不编译" .js"通过在Meteor项目的根文件夹中将以下行添加到babel.json来创建文件。但是,如果你这样做,Babel将只编译" .es6.js"文件而不是" .js"文件。

<强> babel.json

{
    "extensions": ["es6.js"]
}

答案 1 :(得分:1)

这里的一些人试图说Webpack没用,但他们真的不太了解它。

  • 它可以帮助您更好地捆绑资产。
  • 你可以更好地捆绑你的CSS,甚至可以拥有本地CSS(css不是全局应用,而只是在你页面的一部分)
  • 您可以执行代码拆分,而不是在第一页上加载整个应用
  • 您可以在没有页面刷新的情况下进行热重新加载(至少使用React;))

您可以毫无问题地使用angular和Webpack。以下是您需要做的事情:

meteor remove angular meteor add angular-meteor-data meteor add angular-templates

唯一缺失的部分是ng-annotate,幸运的是,有几种方法。您可以在Webpack配置文件中使用ng-annotate-loaderng-annotate-webpack-plugin