svelte包应该是依赖项还是devDependency



我知道已经有很多关于dependencydevDependency之间区别的帖子了,但我没有找到任何解释苗条情况的帖子,所以让我们在这里打开这篇。

在大多数苗条的软件包中,如苗条的材料ui或苗条的布线,安装指南告诉将软件包安装为dependency。然而,由于svelte将在构建期间编译此包,将使用它的新库不需要安装此svelte包。所以我不明白为什么它必须是dependency

也许这个问题是基于观点的,但最好至少对使用什么有一个小想法。

在SvelteKit(Sapper的下一个版本(中,dependencydevDependency之间有一个主要区别:(服务器端(端点中使用的任何模块都必须是dependency。如果没有,则当部署在无服务器平台上时,该项目可能无法工作,尽管它将在本地工作。

否则,我宁愿将所有内容都保留为devDependency。我认为这是有道理的,因为Svelte是一个编译器,并且包只在编译时需要。然而,我认为把所有东西都放在dependency中不会有什么坏处。

我认为这是个人观点。如果您没有将代码作为NPM包分发,那么区别应该是最小的。例如,请参阅此相关讨论。

根据我对web项目的经验,区分用于构建/测试的依赖项(devDependencies(和那些"依赖"的依赖项是很有帮助的;在运行时使用";(依赖项(。你是对的,使用Svelte,在运行时没有使用任何文字代码,但所有内容都是devDependency,所以你不会得到有用的分离。

NPM文件指出,区别应该是生产与开发/测试。

最新更新