带有Vue的Electron禁用自动重新加载

时间:2019-07-15 18:31:06

标签: vue.js electron reload

我使用此tutorial用Vue安装Electron。

我在寻找答案,如何禁用自动重新加载? 我使用npm run dev启动我的应用程序,当我在代码中更改了一些想法之后Electron run auto reload(刷新并再次编译该应用程序 )。编写部分代码后,我想刷新自己的应用程序。 我不使用Webpack

是的,我知道我可以在Visual Studio Code中禁用自动保存,但这不是解决方案。

1 个答案:

答案 0 :(得分:0)

在主进程和渲染器进程上禁用

删除startElectron()dev-runner.js > startMain()的呼叫。

function startMain () {
  return new Promise((resolve, reject) => {
    mainConfig.entry.main = [path.join(__dirname, '../src/main/index.dev.js')].concat(mainConfig.entry.main)
    mainConfig.mode = 'development'
    const compiler = webpack(mainConfig)

    compiler.hooks.watchRun.tapAsync('watch-run', (compilation, done) => {
      //Remove these lines and ...
      // logStats('Main', chalk.white.bold('compiling...'))
      // hotMiddleware.publish({ action: 'compiling' })
      done()
    })

    compiler.watch({}, (err, stats) => {
      if (err) {
        console.log(err)
        return
      }

      //... these lines.
      // logStats('Main', stats)
      //
      // if (electronProcess && electronProcess.kill) {
      //   manualRestart = true
      //   process.kill(electronProcess.pid)
      //   electronProcess = null
      //   startElectron()
      //
      //   setTimeout(() => {
      //     manualRestart = false
      //   }, 5000)
      // }

      resolve()
    })
  })
}

仅在渲染器进程中禁用

src/main/index.js删除下面的导入行。

import '../renderer/store';

vuex-electron要求此行,这使vuex可以在主进程上运行。如果您不打算使用createPersistedState()createSharedMutations(),则可以删除它。