首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取模块构建失败: RangeError:升级到Ionic 3后超过最大调用堆栈大小

获取模块构建失败: RangeError:升级到Ionic 3后超过最大调用堆栈大小
EN

Stack Overflow用户
提问于 2017-05-15 14:33:53
回答 2查看 4.6K关注 0票数 3

我刚刚升级了我的Ionic 2应用程序到Ionic 3,所有的框架,Ionic本机,和CLI。

我现在有了以下设置..

代码语言:javascript
复制
    "dependencies": {
        "@angular/animations": "4.1.0",
        "@angular/common": "4.1.0",
        "@angular/compiler": "4.1.0",
        "@angular/compiler-cli": "4.1.0",
        "@angular/core": "^4.1.0",
        "@angular/forms": "4.1.0",
        "@angular/http": "^4.1.0",
        "@angular/platform-browser": "4.1.0",
        "@angular/platform-browser-dynamic": "4.1.0",
        "@ionic-native/app-version": "^3.8.0",
        "@ionic-native/core": "3.6.1",
        "@ionic-native/device": "^3.8.0",
        "@ionic-native/file": "^3.7.0",
        "@ionic-native/network": "^3.8.0",
        "@ionic-native/social-sharing": "^3.7.0",
        "@ionic-native/splash-screen": "3.6.1",
        "@ionic-native/status-bar": "3.6.1",
        "@ionic-native/toast": "^3.8.0",
        "@ionic/storage": "2.0.1",
        "c3": "^0.4.11",
        "ionic-angular": "3.2.1",
        "ionicons": "3.0.0",
        "js-logger": "^1.3.0",
        "jslogger": "^1.0.3",
        "jszip": "^3.1.3",
        "lodash": "^4.17.4",
        "moment": "^2.17.1",
        "moment-duration-format": "^1.3.0",
        "ng2-translate": "^5.0.0",
        "rxjs": "5.1.1",
        "semaphore-async-await": "^1.3.2",
        "sw-toolbox": "3.6.0",
        "zone.js": "0.8.10"
      },
      "devDependencies": {
        "@ionic/app-scripts": "1.3.7",
        "@ionic/cli-plugin-ionic-angular": "1.0.0",
        "@types/c3": "^0.4.38",
        "@types/jasmine": "^2.5.42",
        "@types/jszip": "0.0.32",
        "@types/lodash": "^4.14.51",
        "@types/moment-duration-format": "^1.3.1",
        "@types/node": "^7.0.5",
        "codecov": "^1.0.1",
        "install": "^0.8.7",
        "jasmine-core": "^2.5.2",
        "jasmine-spec-reporter": "^3.2.0",
        "karma": "^1.4.1",
        "karma-chrome-launcher": "^2.0.0",
        "karma-jasmine": "^1.1.0",
        "karma-mocha-reporter": "^2.2.2",
        "karma-remap-istanbul": "^0.6.0",
        "ts-node": "^2.1.0",
        "tslint": "^4.4.2",
        "tslint-eslint-rules": "^3.3.0",
        "typescript": "^2.2.1"
      },

现在,如果我使用-prod标志进行构建(如果没有此标记,它是很好的),我将得到以下错误.

代码语言:javascript
复制
    [16:50:08]  webpack started ...
    Error: ./~/jszip/lib/index.js
    Module build failed: RangeError: Maximum call stack size exceeded
        at Object.forEachChild (D:\dev\myapp\node_modules\typescript\lib\typescript.js:14735:26)
        at traverse (D:\dev\myapp\node_modules\typescript\lib\typescript.js:7271:31)
        at Object.forEachReturnStatement (D:\dev\myapp\node_modules\typescript\lib\typescript.js:7251:16)
        at checkAndAggregateReturnExpressionTypes (D:\dev\myapp\node_modules\typescript\lib\typescript.js:40055:16)
        at getReturnTypeFromBody (D:\dev\myapp\node_modules\typescript\lib\typescript.js:39965:29)
        at getReturnTypeOfSignature (D:\dev\myapp\node_modules\typescript\lib\typescript.js:31190:28)
        at resolveNewExpression (D:\dev\myapp\node_modules\typescript\lib\typescript.js:39483:21)
        at resolveSignature (D:\dev\myapp\node_modules\typescript\lib\typescript.js:39639:28)
        at getResolvedSignature (D:\dev\myapp\node_modules\typescript\lib\typescript.js:39669:26)
        at checkCallExpression (D:\dev\myapp\node_modules\typescript\lib\typescript.js:39696:29)
     @ ./src/providers/file-logger.ts 58:0-28
     @ ./src/app/app.module.ngfactory.ts
     @ ./src/app/main.ts,./~/d3/d3.js
    Module build failed: RangeError: Maximum call stack size exceeded
        at RegExp.[Symbol.replace] (native)
        at String.replace (native)
        at formatStringFromArgs (D:\dev\myapp\node_modules\typescript\lib\typescript.js:2365:21)
        at Object.chainDiagnosticMessages (D:\dev\myapp\node_modules\typescript\lib\typescript.js:2433:20)
        at reportNonexistentProperty (D:\dev\myapp\node_modules\typescript\lib\typescript.js:38290:28)
        at checkPropertyAccessExpressionOrQualifiedName (D:\dev\myapp\node_modules\typescript\lib\typescript.js:38332:
    21)
        at checkPropertyAccessExpression (D:\dev\myapp\node_modules\typescript\lib\typescript.js:38274:20)
        at checkExpressionWorker (D:\dev\myapp\node_modules\typescript\lib\typescript.js:41158:28)
        at checkExpression (D:\dev\myapp\node_modules\typescript\lib\typescript.js:41115:42)
        at checkExpressionWithContextualType (D:\dev\myapp\node_modules\typescript\lib\typescript.js:40983:26)
     @ ./src/pages/mypage/mypage.ts 61:0-25
     @ ./src/app/app.module.ts
     @ ./src/app/app.module.ngfactory.ts
     @ ./src/app/main.ts

我已经追踪到了2 libs C3/D3jszip。如果我在一个小新创建的 Ionic 3应用程序中使用其中任何一个,那么就会出现而不是的问题。

我经历过很多其他webpack抛出这个错误的报告,但我不明白为什么现在在我现有的项目中发生了这样的事情。

这要么发生在新的Ionic CLI版本3上,要么发生在我降级到新的Ionic CLI版本(2.2.3)时。

UPDATE1

在第二台计算机(Windows 10)上运行节点v6.9.4 (上面的是节点7.s)和NPM4.2.0,我得到了类似但格式不同的错误.

代码语言:javascript
复制
    [16:31:04]  webpack started ...
    [16:31:35]  webpack finished in 31.23 s
    [16:31:35]  sass started ...
    [16:31:36]  transpile bundle started ...
    [16:31:44]  build prod failed: Maximum call stack size exceeded
    [16:31:44]  ionic-app-script task: "build"
    [16:31:44]  RangeError: Maximum call stack size exceeded
    RangeError: Maximum call stack size exceeded
        at checkNonNullExpression (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:38258:40)
        at resolveNewExpression (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:39433:34)
        at resolveSignature (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:39639:28)
        at getResolvedSignature (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:39669:26)
        at checkCallExpression (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:39696:29)
        at checkExpressionWorker (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:41163:28)
        at checkExpression (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:41115:42)
        at checkExpressionCached (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:40996:38)
        at H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:40058:32
        at traverse (H:\dev\myapp\upgradeto3\node_modules\typescript\lib\typescript.js:7255:28)

UPDATE2

作为另一个测试,我添加了一个新的空页面,只添加了C3导入,然后调用了库中的单个函数(generate)。

这个新页面也会出现同样的错误。

有人知道如何追踪这个问题吗?我没有想法了,我只是不能从空白重新启动这个项目。

提前感谢您的帮助

UPDATE3

我想我应该尝试将TypeScript更新到最新的2.3.2。当我重新运行npm安装时,我确实收到了一些警告。

代码语言:javascript
复制
    +-- UNMET PEER DEPENDENCY @angular/core@4.1.0
    +-- UNMET PEER DEPENDENCY @angular/http@4.1.0
    `-- typescript@2.3.2

    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any"} (curre
    nt: {"os":"win32","arch":"x64"})
    npm WARN ng2-translate@5.0.0 requires a peer of @angular/core@^2.0.0 but none was installed.
    npm WARN ng2-translate@5.0.0 requires a peer of @angular/http@^2.0.0 but none was installed.

我不太理解这两个UNMET PEER DEPENDENCY,因为我确实安装了@angular/core@4.1.0@angular/http@4.1.0

无论如何,我还是会有同样的溢出。真的不知道下一步该做什么。再一次,这些库都在新创建的Ionic应用程序中构建得很好,可能是因为它要小得多?

我也找到了本期,但我在这里看起来有点不一样.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-04 04:49:12

对我来说,解决方案是拥有最新的离子,包括最新的,除了 holding TypeScript at 2.3.0,这是imgx64 这里的建议

票数 1
EN

Stack Overflow用户

发布于 2017-06-01 16:26:20

在Ionic 3.2.1到3.3.0之间运行ionic cordova build browser --prod时,也会出现类似的错误。只有当我使用--prod参数时才会发生这种情况。

错误日志:

代码语言:javascript
复制
$ ionic cordova build browser --prod
Running app-scripts build: --prod --iscordovaserve --externalIpRequired --nobrowser

    [13:22:25]  build prod started ...
    [13:22:25]  clean started ...
    [13:22:25]  clean finished in 16 ms
    [13:22:25]  copy started ...
    [13:22:25]  ngc started ...
    [13:22:37]  ngc finished in 11.64 s
    [13:22:37]  preprocess started ...
    [13:22:37]  deeplinks started ...
    [13:22:37]  deeplinks finished in 594 ms
    [13:22:37]  optimization started ...
    [13:22:38]  copy finished in 12.65 s
    [13:22:57]  optimization finished in 19.56 s
    [13:22:57]  preprocess finished in 20.15 s
    [13:22:57]  webpack started ...
    [WARN] Error occurred during command execution from a CLI plugin (@ionic/cli-plugin-cordova). Your plugins may be out of date.
    Error: ./~/d3/d3.js
    Module build failed: RangeError: Maximum call stack size exceeded
        at checkNonNullExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:38397:40)
        at checkPropertyAccessExpressionOrQualifiedName (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:38455:24)
        at checkPropertyAccessExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:38413:20)
        at checkExpressionWorker (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:41300:28)
        at checkExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:41257:42)
        at checkBinaryLikeExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:40834:28)
        at checkBinaryExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:40827:20)
        at checkExpressionWorker (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:41335:28)
        at checkExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:41257:42)
        at checkBinaryLikeExpression (C:\Projetos\MyProject\Frontend\node_modules\typescript\lib\typescript.js:40834:28)
     @ ./~/c3/c3.js 830:70-83
     @ ./src/components/c3-chart-component/c3-chart-adapter.ts
     @ ./src/components/c3-chart-component/c3-chart-component.ts
     @ ./src/pages/dashboard/dashboard.ngfactory.ts
     @ ./src/pages/dashboard/dashboard.module.ngfactory.ts
     @ ./src async
     @ ./~/ionic-angular/util/ng-module-loader.js
     @ ./src/app/app.module.ngfactory.ts
     @ ./src/app/main.ts
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43982175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档