我的应用在同一个回购中有一个客户端和一个API。 API端使用slc build --npm
构建,而客户端使用npm run build
构建,在slc构建命令中触发。我正在尝试构建可部署的.tgz文件并排除 client/
和build/
工件(在我的API服务器上我不一定需要的其他一些东西) )。
我错过了配置设置吗?
我的.npmignore明显有
的条目client/
devops/
dist/
在构建之后,如果我解压缩归档,.npmignore
中列出的所有内容仍然包含在内。这只是不支持吗?
我猜slc build --npm
没有在内部运行实际的npm pack
命令而只是做一个自定义的事情。
答案 0 :(得分:1)
你是不正在运行npm pack
是正确的。它实际上是使用一个显式创建的模块来忽略模块中的.npmignore
文件以及任何依赖项。
这样做的原因是因为许多具有二进制加载项的模块被配置为不发布其编译的部分,这使得无法将这些包与预编译的二进制文件捆绑在一起,以便可以将它们部署到环境中那个没有编译器的人。
听起来这种行为可能会使用一些改进,比如只忽略依赖关系忽略文件。