Skip to content

路由器的两种工作模式

分类:Vue2
标签:VueWeb 前端
创建时间:2021年09月27日 20:00:54

hash 模式

  1. 对于一个 url 来说,# 号及其后面的内容就是 hash 值。
  2. hash 值不会包含在 HTTP 请求中,即:hash 值不会带给服务器。
  3. 地址中永远带着 # 号,不美观。
  4. 若将地址通过第三方手机 APP 分享,且 APP 校验严格,则地址会被标记为不合法。
  5. 兼容性较好。

history 模式

  1. 地址干净美观。
  2. 兼容性和 hash 模式相比略差。
  3. 应用部署上线时需要后端人员支持,解决刷新页面服务器 404 问题。

配置路由模式

  1. 在路由配置文件创建 router 实例时传入 mode 配置项即可。

  2. mode 的默认值是 hash,这也正是为什么配置路由后每次启动路由中都带有 # 号的原因。

  3. 代码:src/router/index.js

    javascript
    // 创建 router 实例。
    const router =  new VueRouter({
        mode: 'history',
        routes: [
            ……
        ]
    })

项目工作流程

  1. 项目开发大致分成下面几个流程
    • 开发
    • 打包
    • 部署
  2. 接下来利用 NodeJS 只做一个小型服务器,运行 Vue 项目。

开发阶段

  1. 前端:这里用咱们之前做的嵌套路由代码为例。
  2. 服务器:参考文档

打包

  1. 在项目根目录的终端中输入指令

    sh
    npm run build
  2. 执行命令后项目的根目录会生成一个 dist 的文件夹,将 dist 文件夹中的所有文件放到服务器根目录的 static 文件夹下即可。

  3. 这里要注意路由模式,如果是 history 模式要按照 参考文档 去执行服务器脚本。

基于 MIT 许可发布