0

我已经组装了一个名为的目录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
4

0 回答 0