首页 > 解决方案 > 我应该在哪里将构建依赖项放在节点 Web 应用程序中

问题描述

我们在生产中经常使用 nodejs,它非常适合 web,因为我们对前端和后端使用相同的语言,但是当我们将前端和后端放在一个源根目录中时,它就会出现问题。我应该把构建依赖项放在哪里?我应该将 webpack、babel 等依赖项放在依赖项中还是 devdependencies 中?我发现这两个选项都不好。我希望像这样的 dep 不会打包到我的最终 dist 包中。但我必须安装它才能在我的 ci 管道中构建静态资产。

我目前的解决方法是安装两次。我将这些依赖项放在devdependencies中,将dep作为后端放在依赖项中,第一次安装是安装所有deps以构建静态资产,然后删除node_modules,并再次安装仅用于依赖项。

我也不喜欢这种解决方法,它会大大增加构建时间。

标签: node.jsfrontend

解决方案


您可以将应用程序需要运行的依赖项放入“依赖项”部分,并将基于构建/开发的依赖项放在“devDependencies”中。

诀窍是运行npm install --production它只安装生产依赖项,即“依赖项”下的包。

npm install确实安装了生产依赖项和开发依赖项,因此不需要复制或安装两次。


推荐阅读