我目前遇到了一個奇怪的問題。
未發現(in promise) ReferenceError。在初始化之前不能訪問'Agile'。
這可能是由于webpack試圖正確地將我的庫的ESM部分轉換成CommonJs。不幸的是,它沒有做得很好,我最終出現了上述的錯誤。
我的庫同時支持。 為什么我如此肯定這與 好吧,我曾經通過移除對 在不支持 因為我的庫應該同時支持這兩種。 下面是我的庫的 也許我在 uj5u.com熱心網友回復: 好的,我通過解決所有的 參見。https://github.com/agile-ts/agile/issues/193
標籤:CommonJs和ESM。所以我想知道為什么webpack使用ESM部分并將其轉換為CommonJs,而不是直接使用我庫中的CommonJs部分?
ESM到CommonJs的轉換有關?ESM的支持來強迫webpack使用我庫中的CommonJs部分。通過這樣做,我簡單地洗掉了庫中package.json中的ESM模塊的路徑。
"模塊"。"dist/esm/index.js"。
ESM之后,webpack被迫使用CommonJs部分
并如期作業,因為webpack不再需要轉換任何東西。(見圖片)ESM和CommonJS。
簡單地不支持ESM是沒有解決方案的。
package.json:{
"name": "@agile-ts/core"。
"版本": "0.2.0 17b078aa",
"author": "BennoDev",
"許可證": "MIT"。
"主頁"。"https://agile-ts.org/"。
"描述": "Spacy, Simple, Scalable State Management Framework",
"keywords": [
//...。
],
"main": "dist/index.js", // <! -- CommonJs
"模塊"。"dist/esm/index.js", // <!-- ESM
"type": "dist/index.d.ts"。
"scripts": {
/ /span> ...。
},
"dependencies": {
"@agile-ts/utils"/span>: "^0.0.8"。
},
"peerDependencies": {
"@agile-ts/logger"。"^0.0.8"。
},
"peerDependenciesMeta": {
"@agile-ts/logger"/span>: {
"optional": true: "optional": true
}
},
"publishConfig": {
"access": "public"。
},
"repository"/span>: {
"type": "git"。
"url": "https://github.com/agile-ts/agile.git"。
},
"bug": {
"url": "https://github.com/agile-ts/agile/issues"。
},
"files": [
"dist",
"LICENSE",
"README.md"。
"CHANGELOG.md"。
],
"sideEffects"。false。
}
package.json中錯誤地配置了一些東西。
因此webpack使用了ESM,盡管它需要CommonJs?
v16.3.0回圈依賴性來解決這個問題 ^^


