在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.json 和 nodemon.json。
配置的优先级:nodemon.json > package.json > 命令参数。
在根目录创建 nodemon.json 文件并配置 nodemon.json 规则:
{
 "ignore": [
 	"node_modules",
 	"dist"
 ],
 "restartable": "r",
 "watch": ["*.*"],
 "ext": "html,js,css"
}在 package.json 中配置
{
  "nodemonconfig": {
    "ignore": [
	 	"node_modules",
	 	"dist"
	 ],
	 "restartable": "r",
	 "watch": ["*.*"],
	 "ext": "html,js,css"
  },
}通过命令行配置
使用 --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" 
- 如果不指定这个选项,nodemon 会默认监视 
 script:指定监视的文件(一般是项目入口的.js文件)。- 当这个文件发生变化时,nodemon 会触发重新启动。
 - 例如:
"script": "main.js", 
exec:执行的命令。- 当监视的文件发生变化时,nodemon 将执行这个命令来重新启动应用程序。
 - 例如: 
"start": "nodemon --exec electron ." 
restartable:配置重启应用的短命令。- 例如:
"restartable": "r",可以在vs code 终端 输入r,回车,重启应用。 
- 例如:
 
到此这篇关于electron 使用 nodemon 配置自动重启的文章就介绍到这了,更多相关electron 使用 nodemon内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
            
                                            
                                            
                                            
                                            
                                            
发表评论