ionic-team / ionic-team/ionic-cli

Livereload fails with error require() of ES modules is not supported

未關閉
#4,795 15 則留言 6 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

triage
主要語言
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

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。