2016-07-31 46 views
1

我正在使用最新版本的Angular的angular-cli。如何解決在AngularFire 2和Firebase 3中使用Angular-CLI和RC.4時找不到模塊'angularfire2'

我按照步驟here。我不得不做幾個非常小的改變。首先,我以這種方式安裝AngularFire: npm install git+https://github.com/angular/angularfire2.git --save以便我有一個與RC4兼容的版本。

其次,當進行打字步驟時,我這樣做: typings install file:node_modules/firebase/firebase.d.ts --save --global && typings install因爲那就是firebase.d.ts文件現在的樣子。

接下來我這樣做:

var map = { 
    'firebase': 'vendor/firebase/firebase.js', 
    'angularfire2': 'vendor/angularfire2' 
}; 

/** User packages configuration. */ 

var packages = { 
    angularfire2: { 
     defaultExtension: 'ts', 
     main: 'angularfire2.ts' 
    } 
}; 

當我使用的.ts文件,因爲沒有在node_modules/angularfire2文件夾angularfire2 .js文件。即使在源文件夾中它只是.ts文件。

所以,一旦我得到第7步,而做到這一點:

import { FIREBASE_PROVIDERS, defaultFirebase } from 'angularfire2'; 

一切都分崩離析。我不知道爲什麼,它應該工作?

here's the project on github

UPDATE:

所以,我試圖改變從.TS到.js文件擴展名的system-config.ts

然後,我試過如下:

➜ Projects rm -rf angular-analytics 
➜ Projects npm uninstall -g angular-cli 
➜ Projects npm cache clean 
➜ Projects npm install -g [email protected] 
➜ Projects git clone [email protected]:thehashrocket/angular-analytics.git 
➜ Projects cd angular-analytics 
➜ angular-analytics git:(master) npm install 
➜ angular-analytics git:(master) ng build 

但是,結果是這樣的(再次):

Could not start watchman; falling back to NodeWatcher for file system events. 
Visit http://ember-cli.com/user-guide/#watchman for more info. 
Build failed. 
The Broccoli Plugin: [BroccoliTypeScriptCompiler] failed with: 
Error: Typescript found the following errors: 
    /Users/jasonshultz/Projects/angular-analytics/tmp/broccoli_type_script_compiler-input_base_path-89eNuVcv.tmp/0/src/main.ts (4, 53): Cannot find module 'angularfire2'. 
    at BroccoliTypeScriptCompiler._doIncrementalBuild (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:120:19) 
    at BroccoliTypeScriptCompiler.build (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:43:10) 
    at /Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/broccoli-caching-writer/index.js:152:21 
    at lib$rsvp$$internal$$tryCatch (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1036:16) 
    at lib$rsvp$$internal$$invokeCallback (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1048:17) 
    at lib$rsvp$$internal$$publish (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1019:11) 
    at lib$rsvp$asap$$flush (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1198:9) 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

The broccoli plugin was instantiated at: 
    at BroccoliTypeScriptCompiler.Plugin (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/broccoli-plugin/index.js:10:31) 
    at BroccoliTypeScriptCompiler.CachingWriter [as constructor] (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/broccoli-caching-writer/index.js:21:10) 
    at BroccoliTypeScriptCompiler (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:26:49) 
    at Angular2App._getTsTree (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/lib/broccoli/angular2-app.js:331:18) 
    at Angular2App._buildTree (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/lib/broccoli/angular2-app.js:124:23) 
    at new Angular2App (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/lib/broccoli/angular2-app.js:53:23) 
    at module.exports (/Users/jasonshultz/Projects/angular-analytics/angular-cli-build.js:10:10) 
    at Class.module.exports.Task.extend.setupBroccoliBuilder (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/angular-cli/lib/models/builder.js:55:19) 
    at Class.module.exports.Task.extend.init (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/angular-cli/lib/models/builder.js:89:10) 
    at new Class (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/core-object/core-object.js:18:12) 
    at Class.module.exports.Task.extend.run (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/angular-cli/lib/tasks/build.js:15:19) 
    at /Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/angular-cli/lib/commands/build.js:32:24 
    at lib$rsvp$$internal$$tryCatch (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1036:16) 
    at lib$rsvp$$internal$$invokeCallback (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1048:17) 
    at /Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:331:11 
    at lib$rsvp$asap$$flush (/Users/jasonshultz/Projects/angular-analytics/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1198:9) 

難道只是我真的很愚蠢和缺少一個步驟?我覺得我是。 。 。很明顯,我要麼不知道,要麼完全被忽視。 :(

+0

哪個版本的angular-cli? Beta.10?還是高手?您不需要使用來自master的AngularFire2來使用RC.4。您可以忽略npm警告。如果npm不會讓你繼續,更新到npm 3.10.5。 – Splaktar

+0

什麼版本的版本在全球和本地安裝?嘗試在本地和全局安裝類型1.3.x後擦除類型,tmp,dist和node_modules目錄。 – Splaktar

+0

@Splaktar我使用的是以下幾點: 角CLI:1.0.0-beta.10 節點:5.10.1 OS:達爾文64 NPM:3.10.5 分型:1.3.2 –

回答

1

你的分型應該是這樣的火力點:

"dependencies": { 
    "es6-promise": "github:typed-typings/npm-es6-promise#fb04188767acfec1defd054fc8024fafa5cd4de7", 
    "firebase": "github:typed-typings/npm-firebase" 
}, 

package.json應該有這樣的AngularFire2它正常工作與角2 RC.4:

"angularfire2": "2.0.0-beta.2",

使用npm install -g npm應該得到你的npm版本3.10.5這將不會失敗,因爲對等的依賴不是Angular 2 RC.2。

它看起來像你的回購是私人的,因爲鏈接是404.所以我不能真正地測試這個或看到你正在遇到的確切問題,但希望這有助於。

+1

你是對的。 :) –

相關問題