6 cross-platform node.js electron
我正在Linux中试用一个简单的Hello World Electron应用程序.我想打包它并在Windows上安装它以测试它是否在那里运行良好.
当我执行'npm install'时,它创建了一个~112 MB的node_modules文件夹.我还没有任何东西,甚至使用这些模块,如果我也删除此文件夹,示例开始正常.该的package.json文件具有"电子预建"作为devDependencies唯一的项目,所以我承担node_modules文件夹是为这一点.
所以我怀疑是否应该将此文件夹包含在最终包中,如果我希望它在Windows上运行?
简短回答:
node_modules如果通过安装其他库npm,然后从代码中引用它们,则需要在最终分发中使用文件夹.
答案很长:
我不确定,但你可能很困惑,因为你安装了electron-prebuilt,这也是一个npm包,但这个是特别的,因为它是开发和包装所必需的,并不能作为你的应用程序的简单库.我建议您为应用程序使用双包结构来分离开发和应用程序包.这是我的电子应用程序的文件夹结构示例(让我们称之为MyApp):
MyApp:解决方案根文件夹,对于一个简单的应用程序,它将映射到您的存储库根文件夹
gulp,gulpelectron-prebuilt插件等,从repo中排除dist:distribution文件夹,这是我的gulp任务在打包时将打包的应用程序分发.从回购中排除
src:所有应用程序源.现在这是你的应用程序.此文件夹的所有内容都打包到分发中.
所以,当我需要安装一个包,这有助于我开发(通常是一个gulp插件)时,我导航到/ MyApp并在npm install -D [package]那里执行.当我需要为我的应用程序安装库时,比如前端框架,我导航到/ MyApp/src并在npm install -S [package]那里执行.
当我需要在开发中快速运行电子应用程序时,我将/MyApp/src文件夹提供给gulp-run-electron插件.或者,如果您electron-prebuilt为dev软件包安装,则可以导航/MyApp并运行/MyApp/node_modules/electron-prebuilt/dist/electron[.exe] ./src.您也可以electron-prebuilt全局安装npm i -g electron-prebuilt并运行electron ./src.
当我需要打包我的应用程序进行发布或测试时,我使用gulp-electron插件进行gulp生成分发.还有其他方法可以执行此操作,例如使用electron-packager或使用其中一个包装器来构建您选择的构建系统,或者手动执行整个操作.
编辑:因为你关心的是尺寸,所以预制电子本身会占用相当多的空间,但安装程序可以通过一些归档器(如7z)有效缩小.
小智 2
electron-packager是一个轻量级的抽象,它消除了为每个平台构建 Electron 应用程序的一些乏味。
它将遍历您的应用程序并为您指定的每个操作系统创建可执行文件。它将负责捆绑您的应用程序。您不必担心node_modules在最终版本中指定它。
一般来说,甚至不建议检查node_modules版本控制。
| 归档时间: |
|
| 查看次数: |
7114 次 |
| 最近记录: |