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 ,回车,重启应用。
相关推荐
2301_8127314110 分钟前
CSS3笔记
前端·笔记·css3
ziblog13 分钟前
CSS3白云飘动动画特效
前端·css·css3
越努力越幸运50813 分钟前
CSS3学习之网格布局grid
前端·学习·css3
半斤鸡胗15 分钟前
css3基础
前端·css
ziblog16 分钟前
CSS3创意精美页面过渡动画效果
前端·css·css3
akangznl16 分钟前
第四章 初识css3
前端·css·css3·html5
会豪17 分钟前
深入理解 CSS3 滤镜(filter):从基础到实战进阶
前端·css·css3
头顶一只喵喵18 分钟前
CSS3进阶知识:CSS3盒子模型,box-sizing:content-box和box-sizing:border-box的讲解
前端·css·css3
小飞大王66621 分钟前
css进阶用法
前端·css
普通网友36 分钟前
新手必看!HCCDA-HarmonyOS & Cloud Apps 实验保姆级教程
javascript·angular.js