假設我創建了一個名為 npm 模塊@myscope/blurfl,其中包含幾個類:A,定義于A.js,B 定義于B.js,它們都通過 重新匯出blurfl/index.js:
@myscope/
blurfl/
A.js
B.js
index.js
A.js:
export class A {...}
B.js:
import { A } from './A.js';
export class B {...}
索引.js:
export * from "./A.js";
export * from "./B.js";
我更喜歡使用import { A } from '@myscope/blurfl'而不是import {A} from './A.js'保持代碼更清晰(并使將匯出移動到不同的檔案更容易),但@myscope/blurfl顯然不是@myscope/blurfl它本身的依賴項,因此如果我運行node index.js到節點模塊決議器無法找到它檢查缺少的依賴項。
有沒有辦法在不使用專案的顯式檔案名的情況下匯入從同一個 index.js 檔案共同匯出的另一個專案?
uj5u.com熱心網友回復:
我假設您使用的是當前版本的 Node.js(12 LTS 或更高版本)。確保"name"package.json 中包的 是真的"@myscope/blurfl"(而不僅僅是"blurfl")。現在,"exports"在 package.json 中添加一個部分,指定主匯出的相對路徑,即
"exports": {
".": "./index.js"
}
您現在應該也可以import { A } from '@myscope/blurfl'從您的包中使用。
所以,總結一下:
- 使用 Node 12 或更高版本。
- 檢查
"name"package.json 中的內容。 "exports"向 package.json添加一個部分,指示主要入口點 export。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/371263.html
標籤:javascript 节点.js 新产品经理 导入错误
