ionic-team / ionic-team/ionic-cli
Livereload fails with error require() of ES modules is not supported
還沒有人認領這個 Issue。
- 主要語言
- TypeScript
- 星號
- 2k
- 分支
- 681
- PR 合併指標
- 30 天內沒有已合併 PR
描述
Steps to Reproduce:
- Create New Ionic 6 Hello World App (Cordova)
- Update to Angular 13 deps.
- Run ionic cordova run android --livereload
Description:
When running with LIVERELOAD arg, gets this error immediately.
ng.cmd run app:ionic-cordova-serve --host=localhost --port=8100 --platform=android --consolelogs --consolelogs-port=53703
[ng] An unhandled exception occurred: Must use import to load ES Module: D:...\node_modules@angular\compiler-cli\bundles\index.js
[ng] require() of ES modules is not supported.
[ng] require() of D:...\node_modules@angular\compiler-cli\bundles\index.js from D:...\node_modules@ionic\angular-toolkit\node_modules@angular-devkit\build-angular\src\webpack\configs\common.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
[ng] Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from D:...\node_modules@angular\compiler-cli\package.json.
My ionic info:
Ionic:
Ionic CLI : 6.18.1 (C:\Users\steve\AppData\Roaming\npm\node_modules\@ionic\cli)
Ionic Framework : @ionic/angular 6.0.1
@angular-devkit/build-angular : 13.1.2
@angular-devkit/schematics : 13.1.2
@angular/cli : 13.1.2
@ionic/angular-toolkit : 5.0.3
Cordova:
Cordova CLI : 11.0.0
Cordova Platforms : android 10.1.1, browser 6.0.0, ios 6.2.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, cordova-plugin-ionic 5.5.1, (and 12 other plugins)
Utility:
cordova-res : 0.15.4
native-run : 1.5.0
System:
Android SDK Tools : 26.1.1 (C:\Users\steve\AppData\Local\Android\Sdk)
NodeJS : v14.18.0 (C:\Program Files\nodejs\node.exe)
npm : 6.14.15
OS : Windows 10
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
先使用已更新至 Angular 13 的 Ionic 6 Cordova 應用程式重現問題,接著執行 ionic cordova run android --livereload,並檢查回報的 Angular compiler-cli 與 build-angular 載入路徑。在列出的 Node 與 Angular 版本下,live reload 能在不出現 ES 模組 require() 錯誤的情況下啟動,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- angular, nodejs, typescript
- 領域
- build-system, cli
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 28/100