发布包到npm,如何只发布文件夹内文件而不包含文件夹本身?
如题,有这样一个工程:
testProject
|--dist
| |--xxx1.js
| |--xxx2.js
| |--dir1
| |--dir2
|--src
| |--xxx1.js
| |--xxx2.js
| |--dir1
| |--dir2
|--index.js
|--package.json
打包编译后的结果在 dist 文件夹下,我执行npm publish
后,然后安装后的包结构成这样了
node_modules
|--testProject
| |--dist
| |--xxx1.js
| |--xxx2.js
| |--dir1
| |--dir2
|--其他包
| |--xxx1.js
| |--xxx2.js
| |--dir1
| |--dir2
|--其他包
所以有没有办法发布的文件结构不包含 dist 目录。
期望的结果应该是这样:
node_modules
|--testProject
| |--xxx1.js
| |--xxx2.js
| |--dir1
| |--dir2
|--其他包
| |--xxx1.js
| |--xxx2.js
| |--dir1
| |--dir2
|--其他包
package.json
{
"files":[
"dist",
"LICENSE",
...
]
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
理解错了你的需求, 修改答案
npm publish
其实可以加参数, 目标可以是包含package.json
的目录或者压缩包, 详见文档你可以利用 npm 的 hook, 在恰当的时机构造好一个压缩包或者目录, 或者比如说你自己写一个 npm script, 自己手动触发. 然后在产生这个目录或者压缩包后,
npm publish target.tgz
应该就可以了这只是个思路, 你可以结合你实际情况来
以下是旧回答
如果没有理解错你的需求的话, 也许你需要使用
.npmignore
文件规则等同于
.gitignore
官网上可以搜到相关的文档
https://docs.npmjs.com/using-...
可以把package.json拷贝到dist文件夹下,修改下file字段再publish。
怎么样?解决了吗?我也是不想把dist文件发布到包中