簡體   English   中英

Ionic 3:在“prod”模式下構建:找不到模塊“.”

[英]Ionic 3: Build in “prod” mode: Cannot find module “.”

我們有一個大型的Ionic應用程序,我們正試圖在production模式下build它,因為它幾乎准備好了。 我們發現的第一個問題是編譯時出現“ JavaScript heap out of memory”錯誤,但我們通過為節點提供更多內存來修復它:

"ionic:build": "node --max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build",

npm run ionic:build -- --prod

使用此命令,應用程序成功構建,但如果我打開它,我會收到以下錯誤:

Uncaught Error: Cannot find module “.”
at vendor.js:1
at vendor.js:1
at Object. (vendor.js:1)
at e (vendor.js:1)
at Object. (main.js:1)
at e (vendor.js:1)
at window.webpackJsonp (vendor.js:1)
at main.js:1

我搜索了一下,我發現它可能是由require引起的,但我們沒有使用它。 知道會發生什么或我們可以做些什么來調試問題嗎? 有沒有辦法在不縮小 JS 的情況下使用“--prod”?

這是我的環境:

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

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0
global packages:

cordova (Cordova CLI) : 6.5.0 
Gulp CLI              : [09:06:54] CLI version 3.9.1 [09:06:54] Local version 3.9.1
local packages:

@ionic/app-scripts : 3.1.9
Cordova Platforms  : android 6.1.2 ios 4.3.1
Ionic Framework    : ionic-angular 3.9.2
System:

Android SDK Tools : 25.2.5
ios-deploy        : 1.9.1 
ios-sim           : 5.0.8 
Node              : v8.6.0
npm               : 5.3.0 
OS                : macOS High Sierra
Xcode             : Xcode 9.3.1 Build version 9E501 
Misc:

backend : legacy

謝謝!

我發現了問題。 在我的 package.json 中,我使用的是:

"typescript": "^2.9.1",

將版本降低到~2.6.2為我修復了它。

@ionic/app-scriptstypescript刪除^對我typescript ,如下所示:

"devDependencies": {
    "@ionic/app-scripts": "3.1.9",
    "typescript": "2.8.3"
  }

我有一個類似的問題,但是錯誤的typescript包是從其他依賴項目以及 VS Code 的組合中提取的。 我通過將@ionic/app-scriptstypescript確切版本(沒有^~ )固定到我需要的來解決它。

"devDependencies": { "@ionic/app-scripts": "3.1.9", "typescript": "2.6.2" }

對我來說工作使用

"@ionic/app-scripts": "3.2.3",
"typescript": "2.7.1",

如果您想使用 typescript v3,您可以嘗試使用其他附加選項構建禁用 aot(我認為這是使用 prod 標簽的問題)

--release --aot false --environment prod --output-hashing all --sourcemaps false --extract-css true --named-chunks false --build-optimizer true --minifyjs=true --minifycss=true --optimizejs=true

如果沒有,我建議你轉向 ionic4/5

新版本出現此錯誤,我檢查了 ionic-angular 導入,這很好。

包.json

"typescript": "3.1.6"

離子信息

 ionic (Ionic CLI)  : 4.4.0
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.0

Cordova:

   cordova (Cordova CLI) : 8.1.1 (cordova-lib@8.1.0)
   Cordova Platforms     : android 7.0.0, browser 5.0.3
   Cordova Plugins       : no whitelisted plugins (0 plugins total)

錯誤

vendor.js:138159 Uncaught Error: Cannot find module "."
    at webpackMissingModule (vendor.js:138159)
    at vendor.js:138159
    at Object.<anonymous> (vendor.js:138168)
    at __webpack_require__ (vendor.js:55)
    at Object.<anonymous> (main.js:16031)
    at __webpack_require__ (vendor.js:55)
    at webpackJsonpCallback (vendor.js:26)
    at main.js:1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM