Nodemon自動重啟和electron-reload熱加載

nodemon

  • 監(jiān)聽指定文件,每次編輯完,可以自動重啟
  • 可以指定延遲自動重啟的時間
  • 非熱加載

  • 安裝到全局:
    npm install -g nodemon
    
  • package.json添加一下配置:
    "scripts": {
     "start": "nodemon --exec electron .", ///使用nodemon 啟動項目
     "dev": "nodemon"http:///把nodemon添加到依賴
    },
    
  • 創(chuàng)建nodemon.json文件,并添加一下配置:
    {
     "watch": ["*"],    ///監(jiān)視所有文件 
     "exec": "electron .",             
     "ext": "js,json,html,css",  ///包含js,json,html,css文件      
     "ignore": ["node_modules/","dist/"], ///忽略指定文件夾     
     "delay": "0",///延遲多少毫秒重啟
     "restartable": "r"  ///快捷短命令。這里的意思是,在終端輸入"r",再回車就自動重啟。     
    }
    

electron-reload

  • 安裝到全局:
    npm install -g electron-reload
    
  • 設(shè)置當前為development環(huán)境:
    默認情況下,process.env.NODE_ENV 并不會自動設(shè)置為 'development'。你需要明確設(shè)置它。
    "scripts": {
     "start": "NODE_ENV=development electron ."
    }
    
  • 在主進程main.js引用electron-reload
    (安裝在全局和安裝在項目中引用有區(qū)別)
    // 判斷是否在development環(huán)境下
    if (process.env.NODE_ENV === 'development') {
      // 如果electron是全局安裝,指定electron可執(zhí)行文件
      const electronPath = require('child_process')
      .execSync('npm root -g')
      .toString().trim() + '/electron/cli.js';
     // 引用全局安裝的 electron-reload
     require('/usr/local/lib/node_modules/electron-reload')(path.join(__dirname), {
        electron: electronPath, // 指定 electron 可執(zhí)行文件
        hardResetMethod: 'exit', // 使用 'exit' 方式強制重啟
        ignored: /node_modules|[\/\\]\.///忽略文件
     });
    }
    

混合使用

也可以nodemonelectron-reload混合使用,electron-reload只負責當渲染進程改變時,進行熱更新,nonemon負責剩下其他文件變動時,進行自動重啟,不過配置起來稍嫌麻煩,一般也沒必要了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容