我已经组装了一个名为的目录dist
,其中包含要发布的库的各个部分。这是我的代码库的示意图:
.
├── LICENSE
├── README.md
├── dist
│ ├── index.d.ts
│ ├── index.js
│ ├── ...
│ └── ngx
├── node_modules
├── package-lock.json
├── package.json
└── src
特别是,我煞费苦心地创建了一个名为的目录dist/ngx
,它允许一个可选地导入一个 ngx 模块/组件,该模块/组件(基本上)包裹在dist/index.js
. 我的 package.json 内容如下:
{
"name": "my-library",
"module": "dist/index.js",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"files": [
"dist/**/*"
],
...
}
当我运行时npm pack
,我希望 的所有内容都dist
打包到输出.tgz
文件中。但是dist/ngx
,npm在打包之前首先完全删除了目录。这真的很奇怪——就好像 npm 做了一些基于主/模块路径的 tree-shaking 以消除它认为不需要的东西。但在这种情况下,我非常需要dist/ngx
成为已发布库的一部分。
我怎样才能npm pack
在打包前不删除东西?为什么不将其中的files:["dist/**/*"]
所有内容打包?
npm --version
7.14.0
node --version
v14.17.0