当前位置: 首页 > 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 ,回车,重启应用。
http://www.lryc.cn/news/451571.html

相关文章:

  • JVM和GC监控技术
  • Android中级控件
  • WebSocket消息防丢ACK和心跳机制对信息安全性的作用及实现方法
  • 生信初学者教程(二十二):Boruta+RF筛选候选标记物
  • JVM Class类文件结构
  • 解决 GitHub 文件大小限制的问题
  • wordpress源码资源站整站打包32GB数据,含6.7W条资源数据
  • 金融领域的人工智能——Palmyra-Fin 如何重新定义市场分析
  • STL--string类
  • iptables 的NDAT报错bash: 9000: command not forward
  • 快速了解:MySQL InnoDB和MyISAM的区别
  • TI DSP TMS320F280025 Note14:模数转换器ADC原理分析与应用
  • 【C++前缀和】2845. 统计趣味子数组的数目|2073
  • C++入门基础 (超详解)
  • docker零基础入门教程
  • 【Java SE 题库】移除元素(暴力解法)--力扣
  • linux文件编程_进程
  • java NIO实现UDP通讯
  • ffmpeg如何实现视频推流?
  • 【HTML5】html5开篇基础(3)
  • echarts实现3D柱状图(视觉层面)根据博主改编
  • 【一篇文章理解Java中多级缓存的设计与实现】
  • OpenSource - 开源WAF_SamWaf
  • 旅游避坑指南
  • 矩阵系统源码搭建的具体步骤,支持oem,源码搭建
  • 正则表达式调试工具实战
  • SQL:函数以及约束
  • 在Linux中将设备驱动的地址映射到用户空间
  • 电脑自带dll修复在哪里,dll丢失的6种解决方法总结
  • k8s基于nfs创建storageClass