2016-04-08 70 views
4

编辑注: 随着我的进步,我正在改变这个问题。将继续更新。在流星1.3上使用npm + angular1(凹凸!)

我已经将我的角流星项目(流星1.2.1 +玉+ ES6 js)升级到1.3。更新是成功的,一切都像以前一样工作。我想开始使用NPM安装角的插件,如:

meteor npm i <package> 

作为第一步,我已经安装角度和角流星:

meteor npm i angular --save 
meteor npm i angular-meteor --save 

接着又说:

import angular from 'angular'; 
import 'angular-meteor'; 

我得在服务器端的几个缺失的软件包的错误,并通过使用npm i <package> --save

增加他们固定的

现在我碰撞了:

Error: Can't find npm module 'ecmascript'. Did you forget to call 'Npm.depends' in package.js within the 'modules-runtime' package? 
W20160410-21:27:53.530(3)? (STDERR)  at Object.Npm.require (/Users/user/work/myproj/.meteor/local/build/programs/server/boot.js:195:17) 

想法?

更新

我认为增加的ECMAScript将修复它,但它的安装时发生错误。要清楚,我不知道是否要meteor add ecmascriptmeteor npm i ecmascript这样分别和一起尝试。虚空修正了上述错误。

话虽这么说,meteor add ecmascript实际上得到ES6错误停下来,所以我知道它的存在和活跃

2日更新(3周后)

等待并重试更新了几个之后几周解决了它:我已经运行Meteor update然后运行服务器,这反过来错误了几次关于错过npm包,但在这些[meteor] npm install之后,一切都像一个魅力。问题解决了!

+0

你如何打包/转储你的代码?我猜你在你的html文件上有app.js的引用(应该使用一些systemjs/webpack等来加载异步),否则你会错过配置你的打包程序/转译程序。请提供更多信息。 –

+0

我依靠'Meteor'来捆绑和传输代码/模板。 Meteor 1.2.1版本完美无瑕,升级到1.3后也是如此。我在JS和jade中使用es6语法。那些在升级到Meteor 1.3之后仍然会传输,但是当我添加'import angular'语句后,Jade和ES6语法都破解了 – tivoni

+0

你能试试这个答案吗? http://stackoverflow.com/a/36494987/1426570 – Urigo

回答

1

在以前的版本流星角的我们删除ecmascript如果要迁移,添加回去

meteor add ecmascript 
+0

我也这么认为,但它没有解决错误 - 请参阅更新的评论 – tivoni

0

这里是为我工作的步骤:1. 流星更新 2.审查软件包没有升级并升级它们。具体如下所示:

以下顶级依赖项未更新为最新版本: * angular 1.3.7(1.3.10可用) * angular-meteor-auth 0.2.2( 1.0.2_1可用)

下列间接依赖关系的更新版本可用: * angular-meteor-data 0.3.0(1.3.10可用) * angular-templates 1.0.1(1.0.2是可用) * pbastowski:[email protected]。4

  • 流星NPM的init(和填充所有细节)

  • NPM安装--save角角流星

  • 加入下列进口上的应用程式。 js(主应用程序文件):从'angular'导入角度; (我还加入了从'角流星'导入角流星体,但似乎并不需要)。

  • 我收到一个严格的错误,我通过添加'ngInject'来修复;到那个函数(RoutingHandler)。

  • 这使得我的项目像以前一样工作(没有新的npm包,没有额外的导入)。