当前位置: 首页 > wzjs >正文

我要发布文章到网站上推广 哪些网站最好公司网站建设费用怎么入账

我要发布文章到网站上推广 哪些网站最好,公司网站建设费用怎么入账,专业全网推广建站公司,wordpress采集织梦网站文章一、hash 模式:兼容性优先的默认选择 核心原理:利用 URL 中的哈希值(#符号后的部分)来标识路由状态,哈希值的变化会触发hashchange事件,Vue Router 通过监听该事件实现路由跳转。 URL 格式:ht…

一、hash 模式:兼容性优先的默认选择

核心原理:利用 URL 中的哈希值(#符号后的部分)来标识路由状态,哈希值的变化会触发hashchange事件,Vue Router 通过监听该事件实现路由跳转。

URL 格式http://example.com/#/home

典型配置

// router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'Vue.use(VueRouter)const routes = [{path: '/home',name: 'Home',component: () => import('../views/Home.vue')}
]const router = new VueRouter({mode: 'hash', // 显式声明hash模式(默认即为hash)routes
})export default router

关键特性

  • 完全兼容所有浏览器(包括 IE8+)
  • 无需服务器额外配置,哈希值不会被发送到服务器端
  • 路由切换时仅改变哈希值,不会触发页面刷新
  • 缺点:URL 中包含#符号,不够美观,部分场景可能影响用户体验

适用场景

  • 对 SEO 要求不高的内部管理系统
  • 兼容性要求较高的项目
  • 无法进行服务器配置的场景

二、history 模式:打造优雅 URL 的现代方案

核心原理:基于 HTML5 的 History API(pushStatereplaceState)实现,通过操作浏览器历史记录来实现路由切换,URL 看起来与传统多页应用无异。

URL 格式http://example.com/home

典型配置

const router = new VueRouter({mode: 'history', // 启用history模式routes: [...]
})

关键特性

  • 生成更美观、自然的 URL,提升用户体验
  • 需要服务器进行特殊配置,确保所有路由请求都返回同一个 HTML 文件
  • 兼容性依赖 HTML5 History API(IE10 + 支持)
  • 支持history.back()history.forward()等原生浏览器导航功能

服务器配置示例

Node.js (Express)

const express = require('express')
const app = express()// 静态资源服务
app.use(express.static(path.join(__dirname, 'dist')))// 所有路由都返回index.html
app.get('*', (req, res) => {res.sendFile(path.join(__dirname, 'dist', 'index.html'))
})app.listen(3000)

Nginx

server {listen 80;server_name example.com;root /path/to/dist;location / {try_files $uri $uri/ /index.html;}
}

适用场景

  • 对 SEO 有要求的网站(如企业官网、电商平台)
  • 需要优雅 URL 的应用
  • 后端能够配合进行路由配置的项目

三、abstract 模式:服务端渲染与特殊环境的选择

核心原理:不依赖浏览器 API,通过 JavaScript 对象管理路由历史,路由状态保存在内存中。

典型配置

const router = new VueRouter({mode: 'abstract', // 启用abstract模式routes: [...]
})

关键特性

  • 适用于非浏览器环境,如 Node.js 服务器端渲染(SSR)、Weex 原生应用
  • 自动检测环境,若无浏览器 API 则默认使用此模式
  • 路由跳转逻辑与浏览器模式一致,但不涉及真实 URL 变化
  • 支持完整的路由导航守卫和生命周期钩子

适用场景

  • Vue SSR 项目(如 Nuxt.js 应用)
  • Weex 跨平台应用开发
  • 自定义渲染环境(如 Electron 桌面应用)

四、三种模式对比与选择策略

特性hash 模式history 模式abstract 模式
URL 格式带 #符号普通 URL不涉及真实 URL
兼容性全浏览器支持IE10+任意 JavaScript 环境
服务器配置无需配置需要特殊配置无需配置
SEO 友好度不友好友好需配合 SSR
应用场景内部系统、兼容性项目官网、电商平台SSR、原生应用

选择建议

  1. 优先考虑 history 模式:现代 Web 应用首选,提供最佳用户体验和 SEO 支持,但需要服务端配合
  2. 回退到 hash 模式:若无法进行服务器配置或需要兼容旧浏览器
  3. 使用 abstract 模式:仅在非浏览器环境(如 SSR、Weex)中使用

五、使用 history 模式的常见问题与解决方案

1. 刷新页面 404 错误

原因:刷新时浏览器直接请求服务器路径,若服务器未配置则返回 404

解决方案:确保服务器对所有路由请求都返回 Vue 应用的 index.html 文件(参考上文服务器配置示例)

2. 路由跳转性能问题

问题:频繁调用pushState可能导致历史记录过多,影响浏览器性能

解决方案:合理使用replaceState替代pushState,避免不必要的历史记录堆积

3. 兼容性处理

问题:在不支持 History API 的浏览器中使用 history 模式

解决方案:可结合history fallback库进行降级处理,但通常建议明确支持的浏览器版本

六、路由模式与 Vue 生态的结合

1. 与 Vuex 的配合

无论是哪种路由模式,都可以与 Vuex 结合实现路由状态的全局管理:

// store/modules/router.js
export default {state: {currentRoute: null},mutations: {SET_CURRENT_ROUTE(state, route) {state.currentRoute = route}},actions: {trackRoute({ commit }, route) {commit('SET_CURRENT_ROUTE', route)}}
}// 在路由守卫中监听路由变化
router.beforeEach((to, from, next) => {store.dispatch('trackRoute', to)next()
})

2. 在 SSR 中的应用

在服务端渲染场景中,通常使用 abstract 模式:

// server.js (简化示例)
import { createApp } from './app'export default context => {return new Promise((resolve, reject) => {const { app, router, store } = createApp()// 设置服务器端路由位置router.push(context.url)// 等待路由准备就绪router.onReady(() => {const matchedComponents = router.getMatchedComponents()if (!matchedComponents.length) {return reject({ code: 404 })}resolve(app)}, reject)})
}

总结

Vue Router 的三种路由模式各有优劣,开发者应根据项目需求、浏览器兼容性要求和服务器能力综合选择。在大多数现代 Web 应用中,推荐使用 history 模式以获得最佳用户体验;而在特殊环境(如 SSR、原生应用)中,abstract 模式则是必要选择。合理配置路由模式是构建高性能、可维护 Vue 应用的重要环节。


文章转载自:

http://4ZL508Ka.qrhng.cn
http://vq4ev2EA.qrhng.cn
http://nPc1em9h.qrhng.cn
http://oNVmRqYB.qrhng.cn
http://2b8SGTdI.qrhng.cn
http://VsopO6b7.qrhng.cn
http://1SBka7oV.qrhng.cn
http://MC3wM1m6.qrhng.cn
http://TyfbJYUY.qrhng.cn
http://JWHx0RM9.qrhng.cn
http://37lof0By.qrhng.cn
http://gkfZCfGC.qrhng.cn
http://tVIE40VT.qrhng.cn
http://KF25eKhY.qrhng.cn
http://mnKlczkp.qrhng.cn
http://eq2sC6jj.qrhng.cn
http://STt5IbnV.qrhng.cn
http://GtdYERtp.qrhng.cn
http://7paGAhJD.qrhng.cn
http://vINE30TB.qrhng.cn
http://UyUbX1Fj.qrhng.cn
http://Hy6dCx8G.qrhng.cn
http://x9ea6Bl4.qrhng.cn
http://oEay9QMh.qrhng.cn
http://BOtEZ9zG.qrhng.cn
http://a1SlLkHg.qrhng.cn
http://ufbQC4Qp.qrhng.cn
http://ngid0Rwa.qrhng.cn
http://cfnxFUgf.qrhng.cn
http://tREZDFEd.qrhng.cn
http://www.dtcms.com/wzjs/755420.html

相关文章:

  • 企业网站建设的一般要素品牌战略咨询
  • 网站改版声明网站开发德菁
  • 找公司做网站需要咨询什么问题做网站关键字
  • 网站首页设计代码李宁网站开发ppt模板
  • 网站开发服务费入什么科目贵阳网站制作公司
  • 企业平台网站建设方案学做实体店网站
  • 美发企业网站模板如何做个盈利的网站
  • 网站的流量是怎么算的wordpress制作表单
  • 已有域名 搭建网站河北廊坊建设局网站
  • notepad做网站广州sem代运营推广公司
  • 海南网站建设多少钱网页制作平台哪个最好
  • 泰拳图片做网站用网站建设与制作过程
  • WordPress网站主题升级网站建设系统哪个好
  • 网站建设费用:做个网站要多少钱?镇江网
  • 网站建设结课论文手机app开发工具中文版
  • 网站建设要架服务器建设网站的结束语
  • 珠海网站推广公司国外采购网站大全
  • 怎么建小说网站做网站 然后百度推广
  • 用eclipse做网站模板凡客的官网
  • 重庆市建设项目环境申报表网站wordpress下载效果
  • 长春 建网站租号网站怎么做的
  • 福州交通建设集团官方网站浙江省国有建设用地出让网站
  • 免费网站建设 百度一下设计师网名女
  • 四川网站建设有哪些大鱼直播
  • 网站建设付款银行写什么用途梧州做网站建设
  • 四川德行天下建设工程有限公司网站网站升级的内容包括哪些
  • 做网站需要什么图片石家庄建设局网站
  • 韩国外贸网站史上最全的微信小程序代码大全
  • 前端网站优化网站刷新新前台是什么意思
  • 有哪些做国际贸易的网站宣传设计网站