反映devServer中的更改,而无需重新加载节点服务器Webpack&Vue-cli

问题描述

假设我有一个使用此vue.config.js的Vue CLI项目:

module.exports = {
  ...
  devServer: {        
    before: function(app,server,compiler) {
        app.get('/my_response',function(req,res) {                
            res.json({ custom: 'Hello world' });
        });
    },}
}

每次使用时都要运行服务器:

yarn serve

但是,一旦本地服务器处于活动状态,并且从前端向axios端点发出AJAX(/my_response等)请求,前端就会获得响应,但是如果我更改了"hello world",则AJAX在重新启动yarn serve之前不会获得更改的值。

如何做到这一点,以便在vue.config.js中更改后端逻辑时,不需要重新启动服务器?

解决方法

从Vue CLI 4.5.7开始,不存在对热重装vue.config.js的内置支持。

一种解决方法是安装npm-watch,然后编辑package.json以包括以下内容:

{
  "watch": {
    "serve": "vue.config.js"
  },"scripts": {
    "watch": "npm-watch"
  }
}