Strongloop / Loopback'slc build --npm'不尊重.npmignore

时间:2016-04-07 22:08:54

标签: javascript node.js npm loopbackjs strongloop

我的应用在同一个回购中有一个客户端和一个API。 API端使用slc build --npm构建,而客户端使用npm run build构建,在slc构建命令中触发。我正在尝试构建可部署的.tgz文件并排除 client/build/工件(在我的API服务器上我不一定需要的其他一些东西) )。

我错过了配置设置吗?

我的.npmignore明显有

的条目
client/
devops/
dist/

在构建之后,如果我解压缩归档,.npmignore中列出的所有内容仍然包含在内。这只是不支持吗?

我猜slc build --npm没有在内部运行实际的npm pack命令而只是做一个自定义的事情。

1 个答案:

答案 0 :(得分:1)

你是正在运行npm pack是正确的。它实际上是使用一个显式创建的模块来忽略模块中的.npmignore文件以及任何依赖项。

这样做的原因是因为许多具有二进制加载项的模块被配置为不发布其编译的部分,这使得无法将这些包与预编译的二进制文件捆绑在一起,以便可以将它们部署到环境中那个没有编译器的人。

听起来这种行为可能会使用一些改进,比如只忽略依赖关系忽略文件。