Strongloop/Loopback 'slc build --npm' 不支持 .npmignore
Strongloop/Loopback 'slc build --npm' doesn't honor .npmignore
我的应用在同一个存储库中有一个客户端和一个 API。 API 端是用 slc build --npm
构建的,而客户端是用 npm run build
构建的,如在 slc 构建命令中触发的那样。我正在尝试构建可部署的 .tgz 文件和 exclude client/
和 build/
工件(在一堆我不一定想要的其他东西中我的 API 个服务器)。
我是否缺少配置设置?
我的 .npmignore 显然有
的条目
client/
devops/
dist/
但是在构建之后,如果我解压缩存档,.npmignore
中列出的所有内容仍然包含在内。这是不支持吗?
我猜 slc build --npm
不是 运行 实际的 npm pack
内部命令,只是做自定义的事情。
你是对的,不是 运行 npm pack
。它实际上使用了一个明确创建的模块来忽略模块中的 .npmignore
文件以及任何依赖项。
这样做的原因是因为许多带有二进制附加组件的模块被配置为不发布它们的编译部分,这使得无法将这些包与预编译的二进制文件捆绑在一起,以便将它们部署到没有编译器的环境。
听起来该行为可以使用一些改进,比如只忽略依赖项忽略文件。
我的应用在同一个存储库中有一个客户端和一个 API。 API 端是用 slc build --npm
构建的,而客户端是用 npm run build
构建的,如在 slc 构建命令中触发的那样。我正在尝试构建可部署的 .tgz 文件和 exclude client/
和 build/
工件(在一堆我不一定想要的其他东西中我的 API 个服务器)。
我是否缺少配置设置?
我的 .npmignore 显然有
的条目client/
devops/
dist/
但是在构建之后,如果我解压缩存档,.npmignore
中列出的所有内容仍然包含在内。这是不支持吗?
我猜 slc build --npm
不是 运行 实际的 npm pack
内部命令,只是做自定义的事情。
你是对的,不是 运行 npm pack
。它实际上使用了一个明确创建的模块来忽略模块中的 .npmignore
文件以及任何依赖项。
这样做的原因是因为许多带有二进制附加组件的模块被配置为不发布它们的编译部分,这使得无法将这些包与预编译的二进制文件捆绑在一起,以便将它们部署到没有编译器的环境。
听起来该行为可以使用一些改进,比如只忽略依赖项忽略文件。