[英]Setting the “root” of a published npm project
我正在向npm注冊表發布一個名為foo
的npm包。 我使用compile-to-js語言編寫了包。 為了理智,我將編譯后的輸出放入項目目錄的dist/
文件夾中。 我的package.json
將入口點列為dist/entry.js
:
{
"name": "foo",
"main": "dist/entry.js",
}
有時,我想使用包中不屬於入口點的文件。 例如,有一個非常有用的導出叫做dist/util.js
里面的whatever
:
import { whatever } from "foo/dist/util";
這有效,但是強制我的包的用戶在所有import
語句中鍵入dist/
是不方便的。
此外,重新導出每個可能的util函數不是DRY。 我不想從入口點重新導出 。
理想情況下,我想使用以下語法從dist/
導入文件:
import { whatever } from "foo/util"
如何配置我的package.json
來搜索項目dist/
文件夾中的文件?
這是不可能做到的。
這就是為什么有些軟件包具有重新導出所有公共導出的入口點文件(並非所有駐留在dist
內容都由最終用戶使用)的原因,例如@angular/core
。
還有一些軟件包具有不合適的文件結構的原因,這些文件結構發布到NPM注冊表並且支持正確的導入路徑,例如rxjs
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.