带Vue的电子禁用自动重新加载

问题描述 投票:0回答:1

我使用此tutorial在Vue中安装Electron。

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

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

vue.js electron reload
1个回答
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(),则可以将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.