Lon*_*ick 9 path package node.js npm node-modules
我在发布时是否可以更改Node.js npm包的根目录?我所拥有的是:
??? lib
??? package.json
??? .npmignore
??? src
?   ??? index.js
?   ??? sub
?       ??? mymodule.js
??? test
In /src是我的所有ES2015源代码.我将Babel引入我的/lib目录.将main在我的package.json点lib/index.js.在那之后,我可以做一个npm publish(我.npmignore的设置src只会lib发布).现在我的包被部署到npmjs.com,在另一个包中我可以用它导入它import index from 'mypackage'.
到现在为止还挺好.但是,如果我想sub/mymodule.js直接导入怎么办?我得写import mymodule from 'mypackage/lib/sub/mymodule'.我真正想要的是import mymodule from 'mypackage/sub/mymodule'没有/lib/在我的道路上.
我怎样才能做到这一点?npm文档提到了我可以设置的directories.lib,package.json但似乎它将被完全忽略.我把它设置为./lib但它什么也没做.
小智 5
您可以/lib使用 来发布您的目录npm publish lib。请记住在发布之前将 package.json 文件复制到 lib 目录。
建议使用 npm 脚本:
"scripts": {
  "build": "babel src --out-dir lib",
  "prepublish": "npm run build && cp ./package.json lib"
}