【问题标题】:Upgrading to ionic v2.0.0 issues升级到 ionic v2.0.0 问题
【发布时间】:2017-01-28 15:18:54
【问题描述】:

我的项目最初是使用:

  • ionic: 2.0.0-rc.3
  • ionic-app-scripts: 0.0.45

升级后:

  • ionic: 2.0.0 (看起来就像2.0.0-rc.6
  • ionic-app-scripts: 1.0.0

我遇到了很多错误:

我查看了 ionic changelogionic-app-scripts one,但没有什么特别突出的。

我假设错误与 ionic-app-scripts 有关(因为这是 node_modules 中的目录)它正在查看,但我不确定它可能是什么。

运行ionic info时:

Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.0.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v7.4.0
Xcode version: Not installed

编辑:

这是我的package.json

"dependencies": {
    "@angular/common": "2.4.5",
    "@angular/compiler": "2.4.5",
    "@angular/compiler-cli": "2.4.5",
    "@angular/core": "2.4.5",
    "@angular/forms": "2.4.5",
    "@angular/http": "2.4.5",
    "@angular/platform-browser": "2.4.5",
    "@angular/platform-browser-dynamic": "2.4.5",
    "@angular/platform-server": "2.4.5",
    "@ionic/storage": "1.1.7",
    "@types/jasmine": "^2.5.40",
    "@types/lodash": "^4.14.50",
    "angular2-google-maps": "0.17.0",
    "angularfire2": "^2.0.0-beta.6",
    "clean-css": "^4.0.2",
    "firebase": "^3.6.4",
    "ionic-angular": "2.0.0",
    "ionic-native": "2.4.1",
    "ionicons": "3.0.0",
    "lodash": "^4.17.4",
    "rxjs": "^5.0.0-beta.12",
    "zone.js": "0.7.6"
},
"devDependencies": {
    "@ionic/app-scripts": "1.0.0",
    "typescript": "2.1.5"
},

编辑 #2:

如果我将 packages.json 从工作模板复制到我的项目(并重新安装 node_modules 我会遇到与以前相同的错误。 @ionic/app-scripts 显然是一个错误,因为我已经运行了 npm run build(如 here 所述),这就是错误出现的地方。

由于错误仅在我复制到我的src 文件夹时出现,所以它一定与我的项目有关,因为它是用0.0.45 而不是@ionic/app-scripts1.0.0 编写的。有没有可能的方法来调试并找到错误所在?

另外(即使开箱即用的模板有效),当进入 clean-css-factory.d.tsvirtual-file-utils.d.ts 时,即使构建和运行都很好,也会出现同样的错误?

注意:运行npm run build时,控制台会登录到:

> ionic-hello-world@ build   E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2
> ionic-app-scripts build

[15:41:38]  ionic-app-scripts 1.0.0
[15:41:38]  build dev started ...
[15:41:38]  clean started ...
[15:41:38]  clean finished in 3 ms
[15:41:38]  copy started ...
[15:41:38]  transpile started ...

            **errors occur from here**

解决方案:

我找到了解决原始问题的方法。有一个未使用的模块导入不再存在 (由于 @ionic/app-scripts 的新版本),它是:

import { transformSrcPathToTmpPath } from "@ionic/app-scripts/dist";

【问题讨论】:

    标签: ionic-framework ionic2


    【解决方案1】:

    您是否尝试过删除节点模块?

    rm -rf node_modules
    

    你有最新的cli吗?

    npm uninstall -g ionic
    npm install -g ionic
    

    将您的 package.json 更改为以下内容

    "dependencies": {
        "@angular/common": "2.2.1",
        "@angular/compiler": "2.2.1",
        "@angular/compiler-cli": "2.2.1",
        "@angular/core": "2.2.1",
        "@angular/forms": "2.2.1",
        "@angular/http": "2.2.1",
        "@angular/platform-browser": "2.2.1",
        "@angular/platform-browser-dynamic": "2.2.1",
        "@angular/platform-server": "2.2.1",
        "@ionic/storage": "1.1.7",
        "ionic-angular": "2.0.0-rc.5",
        "ionic-native": "2.2.11",
        "ionicons": "3.0.0",
        "rxjs": "5.0.0-beta.12",
        "zone.js": "0.6.26",
        "sw-toolbox": "3.4.0"
      },
      "devDependencies": {
        "@ionic/app-scripts": "1.0.0",
        "typescript": "2.0.9"
      }
    

    作为最后的手段,您可以创建一个新的 ionic 应用程序,然后移动您的所有代码

    ionic start newApp --v2 --ts
    

    【讨论】:

    • 我已经尝试了所有上述方法,但我仍然得到同样的错误。将编辑我的问题
    【解决方案2】:

    解决方案是我有一个未使用的导入在 @ionic/app-scripts 中寻找一个不再存在的模块(来自 0.0.45 并且在 1.0.0 中不存在)
    它正在寻找的模块是transformSrcPathToTmpPath in @ionic/app-scripts/dist

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      相关资源
      最近更新 更多