Ionic2+;Firebase::生成开发失败

Ionic2+;Firebase::生成开发失败,firebase,ionic2,Firebase,Ionic2,在过去的几天里,我一直有这个问题,就在今天,我能够缩小罪魁祸首的范围: 从一个全新的项目开始,并向其中添加firebase: ionic start -a "MyApp" -i com.package.xyz MyApp tabs --v2 npm install --save firebase 此时,爱奥尼亚发球工作正常。但如果我在任何文件中导入firebase: import firebase from 'firebase'; 现在运行ionic-service--debug会抛出以下错

在过去的几天里,我一直有这个问题,就在今天,我能够缩小罪魁祸首的范围:

从一个全新的项目开始,并向其中添加
firebase

ionic start -a "MyApp" -i com.package.xyz MyApp tabs --v2
npm install --save firebase
此时,
爱奥尼亚发球
工作正常。但如果我在任何文件中导入
firebase

import firebase from 'firebase';
现在运行
ionic-service--debug
会抛出以下错误:

******************************************************
 Dependency warning - for the CLI to run correctly,      
 it is highly recommended to install/upgrade the following:     

 Install ios-sim to deploy iOS applications.`npm install -g ios-sim` (may require sudo)
 Install ios-deploy to deploy iOS applications to devices.  `npm install -g ios-deploy` (may require sudo)

******************************************************

> ionic-hello-world@ ionic:serve /Users/Desktop/Projects/MyApp
> ionic-app-scripts serve "--debug"

[13:27:37]  ionic-app-scripts 0.0.45 
[ DEBUG! ]  An BuildUpdateStarted event occurred  MEM: 116.7MB 
[ DEBUG! ]  An BuildUpdateCompleted event occurred  MEM: 116.7MB 
[ DEBUG! ]  An FileChange event occurred  MEM: 116.9MB 
[ DEBUG! ]  An ReloadApp event occurred  MEM: 116.9MB 
[13:27:38]  watch started ... MEM: 117.2MB 
[13:27:38]  build dev started ... MEM: 117.2MB 
[13:27:38]  clean started ... MEM: 117.2MB 
[ DEBUG! ]  clean /Users/Desktop/Projects/MyApp/www/build  MEM: 117.2MB 
[13:27:38]  clean finished in 6 ms MEM: 117.4MB 
[13:27:38]  copy started ... MEM: 117.4MB 
[13:27:38]  transpile started ... MEM: 117.5MB 
[13:27:42]  build dev failed: Cannot read property 'indexOf' of undefined  MEM: 253.7MB
[ DEBUG! ]  TypeError: Cannot read property 'indexOf' of undefined at loadDiagnostic 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/logger/logger-typescript.js:47:27)
            at 
            /Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/logger/logger-typescript.js:12:16
            at Array.map (native) at Object.runTypeScriptDiagnostics 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/logger/logger-typescript.js:11:26)
            at /Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/transpile.js:92:47 at 
            transpileWorker 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/transpile.js:62:12) at 
            Object.transpile 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/transpile.js:26:12) at 
            buildDev 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/build.js:84:24) at 
            buildWorker 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/build.js:35:12) at 
            Object.build 
            (/Users/Desktop/Projects/MyApp/node_modules/@ionic/app-scripts/dist/build.js:19:12)  
            MEM: 253.7MB 
[ DEBUG! ]  listening on 8100  MEM: 253.9MB 
[ DEBUG! ]  watcher ready: 
            /Users/Desktop/Projects/MyApp/Users/Desktop/Projects/MyApp/src/assets/,/Users/Desktop/Projects/MyApp/src/index.html,/Users/Desktop/Projects/MyApp/src/manifest.json,/Users/Desktop/Projects/MyApp/src/service-worker.js,node_modules/ionic-angular/polyfills/polyfills.js,node_modules/ionicons/dist/fonts/
             MEM: 253.8MB 
[13:27:42]  copy finished in 3.69 s MEM: 253.8MB 
[ DEBUG! ]  watcher ready: 
            /Users/Desktop/Projects/MyApp/Users/Desktop/Projects/MyApp/src/**/*.(ts|html|scss)
             MEM: 253.8MB 
[13:27:42]  watch ready in 3.70 s MEM: 253.8MB 
[13:27:42]  dev server running: http://localhost:8100/ 
如果删除导入,
离子服务
将再次正常工作

以下是爱奥尼亚信息的输出:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.14
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.45
ios-deploy version: Not installed
ios-sim version: Not installed
OS: macOS Sierra
Node Version: v6.7.0
Xcode version: Not installed
如何更正此错误

阿西姆


编辑

在上一节中,我将错误追溯到
节点\u modules/firebase/firebase.d.ts
,其中指出:

declare module 'firebase' {
  export = firebase;
}
为此,编译器会抱怨:
重复标识符“export=”。

如果我删除此部分,或
export=firebase行,错误消失,
ionic service
工作正常,但我无法访问
firebase
对象

更奇怪的是,如果我从一个只添加了
firebase
的空白项目开始,然后运行
ionic-serve
,事情就会很顺利。接下来,我将
firebase
导入到我的一个源文件中,一切都正常工作。直到我终止并重新启动它。在这一点上,我得到了与文章顶部列出的错误相同的错误

我甚至更新了我的
节点
爱奥尼亚
科尔多瓦
爱奥尼亚应用程序脚本
<代码>离子信息
现在显示:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.14
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.46
ios-deploy version: Not installed
ios-sim version: Not installed
OS: macOS Sierra
Node Version: v6.9.1
Xcode version: Not installed    
不过还是一样的问题。我迫切需要帮助来解决这个问题=/


编辑

有关更多信息:

tsconfig.json

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "es2015"
    ],
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es5"
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}
{
  "name": "ionic-hello-world",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "2.1.1",
    "@angular/compiler": "2.1.1",
    "@angular/compiler-cli": "2.1.1",
    "@angular/core": "2.1.1",
    "@angular/forms": "2.1.1",
    "@angular/http": "2.1.1",
    "@angular/platform-browser": "2.1.1",
    "@angular/platform-browser-dynamic": "2.1.1",
    "@angular/platform-server": "2.1.1",
    "@ionic/app-scripts": "0.0.46",
    "@ionic/storage": "1.1.6",
    "firebase": "^3.6.2",
    "ionic-angular": "2.0.0-rc.3",
    "ionic-native": "2.2.3",
    "ionicons": "3.0.0",
    "lodash": "^4.17.2",
    "rxjs": "5.0.0-beta.12",
    "uuid": "^3.0.1",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "0.0.45",
    "typescript": "2.0.6"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-statusbar",
    "cordova-plugin-console",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [
    "ios",
    {
      "platform": "ios",
      "version": "",
      "locator": "ios"
    }
  ],
  "description": "An Ionic project"
}
package.json

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "es2015"
    ],
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es5"
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}
{
  "name": "ionic-hello-world",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "2.1.1",
    "@angular/compiler": "2.1.1",
    "@angular/compiler-cli": "2.1.1",
    "@angular/core": "2.1.1",
    "@angular/forms": "2.1.1",
    "@angular/http": "2.1.1",
    "@angular/platform-browser": "2.1.1",
    "@angular/platform-browser-dynamic": "2.1.1",
    "@angular/platform-server": "2.1.1",
    "@ionic/app-scripts": "0.0.46",
    "@ionic/storage": "1.1.6",
    "firebase": "^3.6.2",
    "ionic-angular": "2.0.0-rc.3",
    "ionic-native": "2.2.3",
    "ionicons": "3.0.0",
    "lodash": "^4.17.2",
    "rxjs": "5.0.0-beta.12",
    "uuid": "^3.0.1",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "0.0.45",
    "typescript": "2.0.6"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-statusbar",
    "cordova-plugin-console",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [
    "ios",
    {
      "platform": "ios",
      "version": "",
      "locator": "ios"
    }
  ],
  "description": "An Ionic project"
}
npm版本

npm@3.10.8
cordova@6.4.0
ionic@2.1.14
typescript@2.0.10
firebase@3.6.2

我也有同样的问题看这里:
我也有同样的问题,看这里:

嘿!我设法解决了这个问题。。通过重新安装我的操作系统..=/这个问题让我头疼不已,最后我刷新了我的mac。。重新安装了nodejs和每个依赖项(ionic、cordova、libs等),问题就消失了。。所以我猜在我以前的安装中有什么东西被破坏了,导致了一些问题。。也许,如果我删除了所有的nodejs二进制文件和库并从头开始重新安装,它可能也能工作..嘿!我设法解决了这个问题。。通过重新安装我的操作系统..=/这个问题让我头疼不已,最后我刷新了我的mac。。重新安装了nodejs和每个依赖项(ionic、cordova、libs等),问题就消失了。。所以我猜在我以前的安装中有什么东西被破坏了,导致了一些问题。。如果我删除了所有的nodejs二进制文件和库并从头重新安装,它可能也能工作。。