Electron 使用 Nodemon 配置自动重启

embedded/2024/12/22 21:02:33/

在Electron项目中,每次修改了代码都需要手动关闭应用,再执行npm start重启应用。

Nodemon 是一个非常实用的工具,主要用于在开发 Node.js 应用时自动监测文件的变化并重新启动服务器。

安装nodemon

开发环境安装nodemon:

npm i nodemon -D

检查是否安装成功:

nodemon -v

修改 package.json 命令:

"scripts": {"start": "nodemon --exec electron ."
},

--exec 参数告诉 nodemon 要执行的命令。这里指定了 electron .


修改 main.js 后,应用自动重启。

但是修改.html页面,应用没有自动刷新页面。

配置nodemon

nodemon 有三种配置方式:命令参数、package.jsonnodemon.json

配置的优先级:nodemon.json > package.json > 命令参数。

  1. 在根目录创建 nodemon.json 文件并配置 nodemon.json 规则:
{"ignore": ["node_modules","dist"],"restartable": "r","watch": ["*.*"],"ext": "html,js,css"
}
  1. package.json 中配置
{"nodemonConfig": {"ignore": ["node_modules","dist"],"restartable": "r","watch": ["*.*"],"ext": "html,js,css"},
}
  1. 通过命令行配置

使用 --watch 参数可以明确指定要监视的文件或目录:

nodemon --watch./src --watch./config main.js

这里指定了监视 ./src./config 目录下的文件变化。

使用 --ignore 参数可以忽略某些文件或目录:

nodemon --ignore./node_modules --ignore./dist main.js

这将忽略 ./node_modules./dist 目录下的文件变化。

一般来说,如果想要使用 nodemon 来监视和自动重启 Electron 项目,应该确保命令中的文件参数是正确的项目入口文件,通常是 main.js

nodemon配置项

  • watch:监视文件或文件夹的路径。

    • :当这些路径下的文件发生变化时,nodemon 会触发相应的操作(通常是重新启动应用程序)。
    • 例如:"watch": ["*.*"]
  • ignore:忽略监视的路径。

    • 用于排除一些频繁变动但不应该触发应用重新启动的文件或文件夹。
    • 例如:"ignore": [ "node_modules", "dist" ]
  • delay:设置延迟时间(以毫秒为单位)。

    • 当文件发生变化后,nodemon 不会立即重新启动应用程序,而是等待指定的延迟时间后,如果没有更多的文件变化,才会触发重新启动。
    • 例如:"delay": 2000
  • ext:指定默认文件扩展名。

    • 如果不指定这个选项,nodemon 会默认监视 .js 文件。可以用逗号分隔多个扩展名。
    • 例如:"ext": "js,json,html"
  • script:指定监视的文件(一般是项目入口的 .js 文件)。

    • 当这个文件发生变化时,nodemon 会触发重新启动。
    • 例如:"script": "main.js",
  • exec:执行的命令。

    • 当监视的文件发生变化时,nodemon 将执行这个命令来重新启动应用程序。
    • 例如: "start": "nodemon --exec electron ."
  • restartable:配置重启应用的短命令。

    • 例如:"restartable": "r",可以在vs code 终端 输入 r ,回车,重启应用。

http://www.ppmy.cn/embedded/121585.html

相关文章

Pytorch库中torch.normal()详解

torch.normal()用法 torch.normal()函数,用于生成符合正态分布(高斯分布)的随机数。在 PyTorch 中,这个函数通常用于生成 Tensor。 该函数共有四个方法: overload def normal(mean: Tensor, std: Tensor, *, generat…

17.安卓逆向-frida基础-调试实战1(有 spawn 模式实例)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。 工…

uniapp 知识点

自定义导航 在page.json navigationstyle":"custom"navigateTo传参 页面传参只能onLoad(option)里面拿 px和upx的关系 在750设计图中,1px1upx 路由 navigateBack返回上一页 重定向 其实就是把当前页面干掉了 公共组件和页面共同点 computed,watc…

batch和momentum

🚀 机器学习系列前期回顾 1、初识机器学习 2、线性模型到神经网络 3、local minima的问题如何解决 🚀在初识机器学习中,了解了机器学习是如何工作的并引入了线性模型,在线性模型到神经网络这节,将线性模型进一步改进为…

INTO:Web3世界的“价值引力场”

在Web3的宇宙中,一股强大的引力正在重塑整个数字世界的格局。这股引力,来自一个名为INTO的“超级连接器”。作为Web3社交领域的先锋,INTO正在用一种前所未有的方式重构整个产业链的价值体系。它不再满足于单一领域的创新,而是大胆…

集师专属心理咨询 心理培训 心理知识服务小程序搭建 专属知识付费小程序搭建

集师专属心理咨询 心理培训 心理知识服务小程序搭建 专属知识付费小程序搭建 1. 心理咨询知识服务小程序功能图解 2. 心理咨询知识服务小程序解决方案及运营服务模式图解 3. 心理咨询行业为什么要搭建自己的专属知识付费小程序平台图解 4. 心理咨询培训知识小程序人人可变现图…

Rust和Go谁会更胜一筹

在国内,我认为Go语言会成为未来的主流,因为国内程序员号称码农,比较适合搬砖,而Rust对心智要求太高了,不适合搬砖。 就个人经验来看,Go语言简单,下限低,没有什么心智成本&#xff0c…

代码随想录 99. 岛屿数量

99. 岛屿数量 #include<bits/stdc.h> using namespace std;void dfs(vector<vector<int>>& mp, vector<vector<int>>& visit, int y, int x){if (visit[y][x] 1 || mp[y][x] 0) return;visit[y][x] 1;if (y > 0) dfs(mp, visit, …