当前位置: 首页 > news >正文

Electron 使用 Nodemon 配置自动重启

在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 ,回车,重启应用。

相关文章:

  • 免费的高质量、美观的甘特图模板
  • 电子数据交换EDI 835 的处理
  • 【Rockchip系列】官方函数:importbuffer_virtualaddr
  • 渗透测试入门学习——编写python脚本实现对网站登录页面的暴力破解
  • Performance Analysis Kit简介
  • 江科大笔记—LED闪烁 LED流水灯 蜂鸣器
  • 【数据结构笔记】2-3-3 单链表的查找
  • Springboot3保存日志到数据库
  • 移动会议:气膜馆的理想选择—轻空间
  • 设计模式 策略模式(Strategy Pattern)
  • SWAP、AquaCrop、FVCOM、Delft3D、SWAT、R+VIC、HSPF、HEC-HMS......
  • 【JAVA高级】 redis分布式双重加锁(业务校验:防止接口并发调用时数据重复)
  • excel-VBA知识点记录
  • 享元(轻量级)模式
  • B样条(B-spline)函数
  • [Vue CLI 3] 配置解析之 css.extract
  • express.js的介绍及使用
  • Git学习与使用心得(1)—— 初始化
  • Netty 4.1 源代码学习:线程模型
  • PAT A1092
  • PHP变量
  • Ruby 2.x 源代码分析:扩展 概述
  • tweak 支持第三方库
  • Twitter赢在开放,三年创造奇迹
  • 程序员最讨厌的9句话,你可有补充?
  • 后端_MYSQL
  • 树莓派 - 使用须知
  • 译自由幺半群
  • 用Python写一份独特的元宵节祝福
  • 积累各种好的链接
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​水经微图Web1.5.0版即将上线
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #include<初见C语言之指针(5)>
  • (1)svelte 教程:hello world
  • (C11) 泛型表达式
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)大道至简,职场上做人做事做管理
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .net core 6 redis操作类
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net Stream篇(六)
  • .Net多线程Threading相关详解
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .project文件
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [Algorithm][动态规划][两个数组的DP][正则表达式匹配][交错字符串][两个字符串的最小ASCII删除和][最长重复子数组]详细讲解
  • [Angular 基础] - 指令(directives)
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬