在以vue-cli 3(webpack 4.15.1)开始的项目上关闭热重载

时间:2018-08-14 14:52:11

标签: javascript webpack vue.js webpack-dev-server

对于每个版本的webpack似乎此配置都已更改,并且使用vue-cli创建的项目更改了指定Webpack配置的方式。我已经尝试过在此站点上找到的所有解决方案,它们似乎都针对不同版本的webpack。

当我对js文件进行更改时,我想完全关闭网页的自动重新加载。我真的不介意自己刷新一下,并且自动重新加载经常会遇到麻烦。

我使用以下项目创建了我的项目: npm install -g @vue/cli vue create my-project 然后用以下命令启动我的开发服务器: npm run serve 哪个调用: vue-cli-service serve 看来我应该可以在vue.config.js文件中传递内容,但是我不知道是什么。 configureWebpack中有一个部分,但我尝试在其中放置各种解决方案,但我的页面仍在不断刷新。

感谢您的指导!我很难找到与此有关的最新文档。

编辑:

我创建了一个新项目,并且具有以下vue.config.js文件:

module.exports = {
  lintOnSave: false
}

根据需要使用的说明,我看到了:

module: {
  rules: [
    {
      test: /\.vue$/,
      loader: 'vue-loader',
      options: {
        hotReload: false // disables Hot Reload
      }
    }
  ]
}

但是我不确定该去哪里。我认为这是在描述其他配置文件。

此外,如果我没看错的话,那只会影响.vue个文件。如果我更改了.js文件怎么办?

3 个答案:

答案 0 :(得分:2)

请参见https://github.com/vuejs/vue-cli/issues/4368#issuecomment-515532738

module.exports = {
  devServer: {
    hot: false,
    liveReload: false
  }
}

答案 1 :(得分:0)

从关于reddit的对话中了解到这一点: 注意:如果您不使用Vue开发服务器(Node Express服务器),则此方法有效。如果您使用的是Vue开发服务器,则可能会阻止应用程序的初始加载。就我而言,我使用的是Tomcat服务器,因此该方法没有问题:

将其放入您的vue.config.js

chainWebpack: config => {

    config.plugins.delete('hmr');
},

请参阅:https://www.reddit.com/r/vuejs/comments/9njfl5/having_some_pain_disabling_the_hot_reloading/

编辑: 作为记录,这是我如何使用包json中的“ devw”脚本在监视模式下运行Vue构建,如下所示。这样,在每次更新代码后,vue都会重新构建pacakge,然后使用Ctrl-F5在浏览器中重新加载。我不是使用“ serve”脚本(启动Express服务器)。

  "scripts": {
    "dev": "vue-cli-service build --mode development",
    "devw": "vue-cli-service build --mode development --watch ",  //USE THIS
    "serve": "vue-cli-service serve",   //DON'T USE
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },


[vue-cli-3]

答案 2 :(得分:-2)

您可以通过在配置中定义以下参数来禁用热重载:

hotReload: false

详细说明可在official manual中找到: