首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用C3/D3图库建立离子应用程序的TypeScript错误

利用C3/D3图库建立离子应用程序的TypeScript错误
EN

Stack Overflow用户
提问于 2018-09-19 00:33:33
回答 1查看 193关注 0票数 0

我有一个Ionic/Cordova应用程序,我终于(有时间)重新访问并添加了一些修改,所以我已经有一段时间没有在我的mac上构建了(我通常在windows上开发)。

我做了我的修改,它在我的Windows机器上为Android平台构建得很好。

在mac上,我还运行了Android构建(我使用mac作为iOS和Android的官方构建机器),在webpack阶段我没有收到以下错误。

代码语言:javascript
复制
            [INFO] Running app-scripts build: --prod --platform android --target cordova

        [08:03:39]  build prod started ... 
        [08:03:39]  clean started ... 
        [08:03:39]  clean finished in 23 ms 
        [08:03:39]  copy started ... 
        [08:03:39]  ngc started ... 
        [08:03:59]  ngc finished in 19.74 s 
        [08:03:59]  preprocess started ... 
        [08:03:59]  deeplinks started ... 
        [08:04:00]  deeplinks finished in 563 ms 
        [08:04:00]  optimization started ... 
        [08:04:01]  copy finished in 21.05 s 
        [08:04:16]  optimization finished in 15.95 s 
        [08:04:16]  preprocess finished in 16.52 s 
        [08:04:16]  webpack started ... 
        Error: ./node_modules/d3-quadtree/src/quadtree.js
        Module build failed: TypeError: Cannot read property 'get' of undefined
            at isNameOfExportsOrModuleExportsAliasDeclaration (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:23318:47)
            at bindStaticPropertyAssignment (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:23396:17)
            at bindWorker (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:23079:29)
            at bind (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:22974:13)
            at visitNode (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:14662:20)
            at Object.forEachChild (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:14725:21)
            at bindEachChild (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:21771:16)
            at bindChildrenWorker (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:21852:21)
            at bindChildren (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:21746:17)
            at bind (/Users/Development/dev/build/myapp/trunk/node_modules/typescript/lib/typescript.js:22985:21)
        @ ./node_modules/d3-quadtree/src/index.js 1:0-49
        @ ./node_modules/d3/index.js
        @ ./src/pages/performance/performance.ts
        @ ./src/pages/performance/performance.ngfactory.ts
        @ ./src/app/app.module.ngfactory.ts
        @ ./src/app/main.ts
            at new BuildError (/Users/Development/dev/build/myapp/trunk/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
            at callback (/Users/Development/dev/build/myapp/trunk/node_modules/@ionic/app-scripts/dist/webpack.js:119:28)
            at emitRecords.err (/Users/Development/dev/build/myapp/trunk/node_modules/webpack/lib/Compiler.js:265:13)
            at Compiler.emitRecords (/Users/Development/dev/build/myapp/trunk/node_modules/webpack/lib/Compiler.js:371:38)
            at emitAssets.err (/Users/Development/dev/build/myapp/trunk/node_modules/webpack/lib/Compiler.js:258:10)
            at applyPluginsAsyncSeries1.err (/Users/Development/dev/build/myapp/trunk/node_modules/webpack/lib/Compiler.js:364:12)
            at next (/Users/Development/dev/build/myapp/trunk/node_modules/tapable/lib/Tapable.js:218:11)
            at Compiler.compiler.plugin (/Users/Development/dev/build/myapp/trunk/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
            at Compiler.applyPluginsAsyncSeries1 (/Users/Development/dev/build/myapp/trunk/node_modules/tapable/lib/Tapable.js:222:13)
            at Compiler.afterEmit (/Users/Development/dev/build/myapp/trunk/node_modules/webpack/lib/Compiler.js:361:9)

我在调用堆栈中看到了行node_modules/d3/index.js。我以前也有过与C3/D3相关的构建方面的其他问题,但是这个看起来不一样。它在我的窗户机器上造得很好。

我更新了Node (因为它比我的Windows老得多),但这并没有什么区别。

我在mac上运行的环境(运行Ionic信息)如下.

代码语言:javascript
复制
  ionic info

  cli packages: (/usr/local/lib/node_modules)

      @ionic/cli-utils  : 1.13.1
      ionic (Ionic CLI) : 3.13.1

  global packages:

      cordova (Cordova CLI) : 7.0.1 

  local packages:

      @ionic/app-scripts : 2.1.4
      Cordova Platforms  : android 6.2.3 ios 4.3.1 windows 4.4.3
      Ionic Framework    : ionic-angular 3.6.1

  System:

      Android SDK Tools : 25.2.5
      ios-deploy        : 1.9.1 
      ios-sim           : 5.0.13 
      Node              : v8.12.0
      npm               : 6.4.1 
      OS                : macOS High Sierra
      Xcode             : Xcode 9.4.1 Build version 9F2000 

  Misc:

      backend : legacy

我的package.json有以下..。

代码语言:javascript
复制
         "dependencies": {
            "@angular/animations": "4.1.3",
            "@angular/common": "4.1.3",
            "@angular/compiler": "4.1.3",
            "@angular/compiler-cli": "4.1.3",
            "@angular/core": "4.1.3",
            "@angular/forms": "4.1.3",
            "@angular/http": "4.1.3",
            "@angular/platform-browser": "4.1.3",
            "@angular/platform-browser-dynamic": "4.1.3",
            "@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": "git://github.com/masayuki0812/c3.git",
            "cordova-android": "latest",
            "cordova-plugin-app-version": "^0.1.9",
            "cordova-plugin-compat": "^1.0.0",
            "cordova-plugin-console": "^1.0.5",
            "cordova-plugin-device": "^1.1.6",
            "cordova-plugin-email-composer": "git+https://github.com/3spin/cordova-plugin-email-composer.git",
            "cordova-plugin-file": "^4.3.3",
            "cordova-plugin-ios-disableshaketoedit": "^1.0.0",
            "cordova-plugin-network-information": "^1.3.3",
            "cordova-plugin-splashscreen": "^4.0.3",
            "cordova-plugin-statusbar": "^2.2.1",
            "cordova-plugin-whitelist": "^1.3.1",
            "cordova-plugin-wkwebview-engine": "https://github.com/driftyco/cordova-plugin-wkwebview-engine.git",
            "cordova-plugin-x-socialsharing": "^5.1.8",
            "cordova-plugin-x-toast": "^2.6.0",
            "cordova-windows": "^5.0.0",
            "cordova-windows-capability-localnetwork": "^0.1.1",
            "es6-promise-plugin": "^4.1.0",
            "ionic-angular": "3.6.1",
            "ionic-plugin-keyboard": "^2.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": "2.1.4",
            "@ionic/cli-plugin-proxy": "1.3.0",
            "@types/c3": "^0.4.41",
            "@types/jasmine": "^2.5.54",
            "@types/jszip": "0.0.32",
            "@types/lodash": "^4.14.51",
            "@types/moment-duration-format": "^1.3.1",
            "@types/node": "^7.0.43",
            "angular2-template-loader": "^0.6.2",
            "codecov": "^1.0.1",
            "html-loader": "^0.5.1",
            "install": "^0.8.7",
            "istanbul-instrumenter-loader": "^3.0.0",
            "jasmine": "^2.8.0",
            "jasmine-spec-reporter": "^4.2.1",
            "karma": "^1.7.1",
            "karma-chrome-launcher": "^2.2.0",
            "karma-coverage-istanbul-reporter": "^1.3.0",
            "karma-jasmine": "^1.1.0",
            "karma-jasmine-html-reporter": "^0.2.2",
            "karma-sourcemap-loader": "^0.3.7",
            "karma-webpack": "^2.0.4",
            "null-loader": "^0.1.1",
            "protractor": "^5.1.2",
            "ts-loader": "^2.3.7",
            "ts-node": "^2.1.2",
            "tslint": "^4.4.2",
            "tslint-eslint-rules": "^3.3.0",
            "typescript": "2.3.0"
        },

我知道这是一个稍旧的Ionic /角版本,但我一直使用它,直到对Ionic 4进行更新,因为我知道所有的事情(直到现在)都正常工作。2.3.0 of TypeScript是因为,当时,我遇到了另一个TypeScript编译错误,2.3.3返回到2.3.0修复程序。

再一次,我做了,而不是,在我的Windows机器上获得了这个。

有没有人知道是什么导致了这个错误,或者如何追踪它,以及我如何修复?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-09-20 03:21:29

多么可怕,我的问题是D,D3,C3包在node_modules中似乎完全改变了结构(当我安装npm时)!

当我从mac上删除,并把这些从我的windows机器复制到mac上时,一切都很好。

也许是因为我使用的是"c3": "git://github.com/masayuki0812/c3.git",而不仅仅是版本。这是一个问题,早在那时我就必须针对这个确切的提交。

我在D3和TypeScript (即构建问题)上遇到了很多问题,所以当我有时间的时候,我会寻找另一个图表库。

同时,这是否意味着我们需要将node_modules签入源代码管理!??我不想这么做,但我会暂时备份这些文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52396334

复制
相关文章

相似问题

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