我正在使用单一代码库构建一个微服务应用程序,其中包含一组微服务和一个公共包。这个公共包从未发布到npm。(使用yarn工作区管理包)
使用parcel将公共包打包成生产代码,因此我不需要在运行时安装它。
每个微服务运行在自己的docker容器中。所以,当我构建docker容器时,理想情况下,我希望忽略这个“commons”依赖项并安装所有其他依赖项。据我所知,唯一的方法是将“commons”包放在devDependencies中。
然而,即使我只将其添加到devDependencies,并运行npm i --only=production
,npm仍然会尝试解析该包,并且仍然会抛出一个ETARGET
错误。
有没有办法完全忽略devDependencies?我的另一个想法是编写一个脚本,在运行npm install之前从package.json中删除devDependencies字段,但我想先在这里询问一下,确保我没有漏掉任何事情。
npm install
后,只应安装没有 "commons" 包的包? - jacobkim