我编写了一组函数,我想创建一个包含生产所需的所有东西的zip文件。 所以我想排除用于dev的所有东西(不包括devdependencies
中的任何东西)。
问题是,我在谷歌上找到的所有解决方案都不会自动排除开发依赖项和可传递的开发依赖项。 基本上,它们从node_modules
和根目录中获取所有内容,并制作一个zip,包括生产中不需要的东西,如单元测试和用于开发的工具。
我看起来像:
重要提示:我不想要一个需要手动指定要排除的依赖项列表的解决方案。 我在package.json
中有这个信息,方法应该使用这个信息来知道要在zip文件中放什么。
通常,您不想打包任何包依赖项(node_modules
目录),因为在安装期间正在编译某些包(npm install
)。
如果你还想这么做,我会建议你考虑打包在一个docker图像。
您可以使用.npmignore
将文件排除在包之外,并利用npm Pack
创建模块的tar.gz
,您可以交付该模块(例如,将其发布到npm registry)。
根据您的npm模块的建议,您可能希望利用npx
并从GitHub\npm\等执行您的模块。