为什么需要将 Electron 保存为开发人员依赖项?



根据官方网站,保存电子文件的正确方法是:

npm install electron --save-dev

Electron实际上是运行应用程序所必需的(字面意思是:require()(,这与这里投票最多的答案背道而驰。那么,如果这是一个例外,我们为什么要例外呢?

require包的事实与它是否应该被视为依赖项或 devDependency (在 npm 意义上(无关。 例如,许多项目使用 webpack API(即const webpack = require('webpack')(,但将其列为开发依赖项。

原因也在您链接到的帖子中进行了解释:当您publish您的软件包时,如果消费者项目需要其他软件包来使用您的软件包,那么这些软件包必须列为dependencies

如果你的包只使用一些模块来构建、测试,或者将它们捆绑到dist文件中(即消费者项目将使用的文件(,那么这些模块不应该在dependencies中提及。我们仍然将它们列在开发devDependencies中。

现在,在电子应用程序的情况下,您几乎没有机会将应用程序用作消费者项目的节点模块,因此上述约定并不真正相关。

此外,我们属于electron包捆绑为构建输出的一部分的情况。用户无需从 npm 获取electron即可使用生成的应用。因此,它与 devDependency 的定义非常匹配。

话虽如此,IIRC 一些电子打包器将您的dependencies捆绑到构建的应用程序中,因此您仍然需要严格填写此列表。

因为当您实际打包到安装程序中时,不会使用这些二进制文件。大多数电子安装程序/打包程序将使用电子二进制文件构建软件包,而不是使用依赖项。

相关内容

  • 没有找到相关文章

最新更新