我正在嘗試修改這個現有的 npm 包,但沒有取得多大成功。我已經浪費了幾個小時的故障排除,希望得到一些指導。
https://www.npmjs.com/package/dxf
我已經將包分叉到我的 github 帳戶中。然后我使用 npm 在本地安裝模塊(W10 運行最新的 LTS 節點)。
npm 我https://github.com/mgbolts/dxf
它安裝時沒有錯誤,但是當我在我的應用程式中需要它時,我收到此錯誤:
錯誤:找不到模塊“S:\mgbolts\coding\Udemy\Nodejs\projects\plasma\node_modules\dxf\lib\index.js”。請驗證 package.json 是否有有效的“main”條目
查看 dxf 模塊檔案夾,它們是沒有 lib 子目錄的,index.js 檔案位于 src 子目錄中。我已經修改了 dxf 包檔案夾中的 package.json 檔案以反映這一點。進行此編輯后,我現在收到此錯誤:
S:\mgbolts\coding\Udemy\Nodejs\projects\plasma\node_modules\dxf\src\index.js:1 從 './config' 匯入配置
SyntaxError:無法在 Object.Module._extensions..js(節點:internal/modules/cjs/loader:1153:10) 在 Module.load (node:internal/modules/cjs/loader:981:32) 在 Function.Module._load (node:internal/modules/cjs/loader:822 :12) 在 Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) 在 Object. (S:\mgbolts\coding\Udemy\Nodejs\projects\plasma\src\index.js:2:13) 在 Module._compile (node:internal/modules/cjs/loader:1101:14)
然后我嘗試在模塊檔案夾中的 package.json 檔案中添加一個新條目(“type”:“module”)。之后我收到此錯誤:
S:\mgbolts\coding\Udemy\Nodejs\projects\plasma\src\index.js:2 const dxf = require('dxf') ^ 錯誤 [ERR_REQUIRE_ESM]: require() of ES Module S:\mgbolts\coding\不支持來自 S:\mgbolts\coding\Udemy\Nodejs\projects\plasma\src\index.js 的 Udemy\Nodejs\projects\plasma\node_modules\dxf\src\index.js。
我的代碼解決這個問題很簡單,就是一個簡單的 const dxf = require('dxf')。
這是 package.json 檔案的摘錄,與上面提到的兩個編輯一樣:
“名稱”:“dxf”,“版本”:“4.6.1”,“描述”:“節點/瀏覽器的 DXF 決議器”,“主”:“src/index.js”,“型別”:“模塊” , "bin": { "dxf-to-svg": "src/cli.js"
uj5u.com熱心網友回復:
此事已解決。我沒有意識到從 github 安裝時需要編譯包。從 NPM 注冊表安裝時不需要任何東西。
模塊的 package.json 檔案有一個腳本來運行編譯程序腳本。
npm 運行 prepublishOnly
花了一點時間來安裝依賴項(browserify、babel、rimraf),但它已經編譯并且現在可以作業了......
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/418686.html
標籤:
上一篇:無法安裝最新的nodejs
