2016-04-08 68 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包,沒有額外的導入)。