Vue.js在apache环境下如何进行热更新?

6

我的后端是基于PHP的(processwire),由老旧可靠的MAMP(localhost:8888/mysite)提供服务。我也想从同一台服务器上提供我的vue.js应用程序。

npm run devlocalhost:8080上启动本地服务器,可以进行前端处理、热重载等操作。

使用npm run build构建应用程序,以便从MAMP提供服务。

但是,如何在MAMP上实现热重载,以便可以通过apache(使用localhost:8888/mysite)继续开发?这可能吗?

谢谢!

2个回答

2

我尝试过通过Apache代理实现热更新,但未能成功。另一种方法并不那么困难,在webpack.config.js文件中:

proxy: {
      '/mysite/api/**': {
        target: 'http://localhost:8888',
        secure: false,
        "changeOrigin": true
      }
    }

1

您需要使用webpack的dev-server才能运行它。

但是您可以使用apache作为代理。 可能会起作用(假设Apache和webpack-dev-server在localhost:8080上运行)

ProxyPass        /mysite http://localhost:8080/mysite
ProxyPassReverse /mysite http://localhost:8080/mysite

因此,棘手的部分是告诉Webpack在/mysite下提供服务。这取决于您的配置。如果您来自Vue webpack模板(使用vue-cli生成),则在/config/index.js中有assetsPublicPath


你的意思是将dev-server用作apache的代理吗?像这样?http://nikolay.rocks/2016-01-13-connect-webpack-to-backend - joe_g
我觉得你想反过来了。使用Apache将/mysite代理到webpack? 在我的开发工具中,我看到http://localhost:8080/__webpack_hmr是事件源类型,所以你根本不需要sockets。我会编辑我的回答... - Psi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接