标签:找不到 了解 ons 访问 nod 上传 设置 服务 ati
在部署的时候发现打开的页面是空白
之前的页面都是作为静态文件形式打包上传到服务器上
http://www.xiedashuaige.cn/bolg2.0/#/home
就和这个页面一样,我其实上只有一个页面/bolg2.0
然后前端的路由切换都是根据后面的哈希值来变化
然后不同的哈希值指向的页面还是/bolg2.0页面
所以就放在静态目录都可以访问
然后我用了history路由后打开的页面页面的时候发现服务器报404
http://www.xiedashuaige.cn/BolgAdmin/admin
首先我在服务器上对应的静态页面是/BolgAdmin页面
但是我前端路由的首页是/BolgAdmin/admin这个页面
但是服务器以为/BolgAdmin/admin是单独的一个页面资源
然后又找不到这个资源,所以就会报404
然后我想了两种解决方法
正好在学koa就用koa搭建了一个服务器,代码如下
const fs = require('fs')
const Koa = require('koa')
const route = require('koa-route')
const path = require('path')
const static = require('koa-static')
const app = new Koa()
const main = ctx => {
ctx.response.type = 'html'
ctx.response.body = fs.createReadStream(path.join(__dirname, '/index.html'))
}
const toMain = ctx => {
ctx.response.redirect('/admin/')
}
const staticFile = static(path.join(__dirname, '/'))
app.use(staticFile)
app.use(route.get('/', toMain))
app.use(route.get('/admin/*', main))
app.listen(3001)
其实就是搭建了一个静态目录,然后把/目录重定向到/admin目录下,然后把/admin/*目录全部打开index文件
然后这样就可以打开vue history模式的单页面应用了
其实吧最后还是有一个问题,是针对于我这个项目的。我这个项目使用了vue的代理跨域,然后后端是用go写的跑在另外一个端口,所以最后直接把打包后的文件让go来做相同的处理,其实主要是了解了一波history模式会出现的问题咯。
标签:找不到 了解 ons 访问 nod 上传 设置 服务 ati
原文地址:https://www.cnblogs.com/xiedashuaige/p/9211425.html