【vue】将vue项目打包后放入node服务端的静态资源中访问,要如何配置history模式?
一个项目下同时包括web(web页面),admin(后台管理系统),server(node服务器)。
将web项目和admin项目打包后放入node服务端的静态资源中访问。
web项目对应的是/
路由下的静态资源,admin项目对应的是/admin
路由下的静态资源。
nginx中的配置是这样的,实际上运行的是node服务端。
location / {
proxy_pass http://127.0.0.1:3000;
include nginxconfig.io/proxy.conf;
}
我在server中使用了官方推荐的connect-history-api-fallback中间件,来做
server/index.js
如下,其中history为connect-history-api-fallback中间件
app.use('/admin', history(), express.static(__dirname + '/admin')) // admin编译后静态文件托管
app.use('/', history(), express.static(__dirname + '/web')) // web编译后静态文件托管
这时候使用history模式访问web的路由(/
下的路由)没用问题,访问后台管理系统(/admin
路由)返回了html以及需要加载的js和css,但是就是显示We're sorry but admin doesn't work properly without JavaScript enabled. Please enable it to continue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你把上下两个顺序换一下?我怀疑你的 /admin 被下面的 / 覆盖掉了