Electron 使用 Nodemon 配置自动重启

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

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

安装nodemon

开发环境安装nodemon:

shell 复制代码
npm i nodemon -D

检查是否安装成功:

shell 复制代码
nodemon -v

修改 package.json 命令:

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 规则:
json 复制代码
{
 "ignore": [
 	"node_modules",
 	"dist"
 ],
 "restartable": "r",
 "watch": ["*.*"],
 "ext": "html,js,css"
}
  1. package.json 中配置
json 复制代码
{
  "nodemonConfig": {
    "ignore": [
	 	"node_modules",
	 	"dist"
	 ],
	 "restartable": "r",
	 "watch": ["*.*"],
	 "ext": "html,js,css"
  },
}
  1. 通过命令行配置

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

shell 复制代码
nodemon --watch./src --watch./config main.js

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

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

shell 复制代码
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 ,回车,重启应用。
相关推荐
kyriewen9 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒9 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
山河木马10 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮10 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦10 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer10 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队11 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY11 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_11 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏11 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端