vue的服务端渲染,【最新】,web前端开发流程
我可以将最近整理的前端面试题分享出来,其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器、数据结构与算法等等,还在持续整理更新中,希望大家都能找到心仪的工作。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】nfig.js里配置plugins: [小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
目录结构:

约定于优先配置
pages目录下所有的*.vue文件生成应用的路由配置(自动生成路由配置),新建pages/users.vue
用户列表
会在.nuxt目录下自动配置router
打开页面: http://localhost:3000/users

路由
–
?导航
虽说和vue的router-link差不多,但是如果我们使用了nuxt,那么为了后期的一些优化我们推荐使用nuxt-link
index.vue里写
跳转到用户列表

?子路由和路由导航
修改pages目录结构

效果:

自动生成目录.nuxt下仔细查看router.js的内容:

结论:
name的命名:文件所在目录-文件名
改造主页的index.vue
跳转到用户列表
<el-button @click=“$router.push(‘/users’)”>用户列表
<el-button @click=“$router.push({name:‘users-detail’})”>用户详情
而我们是安装选项时集成了elementUI的

结果点击按钮可以正常跳转
?动态路由

根据上面的方法可以自动配置一个动态路由
再来改在首页的index.vue和_id.vue 以及detail.vue
//首页index.vue
跳转到用户列表
<el-button @click=“$router.push(‘/users’)”>用户列表
<el-button @click=“$router.push({name:‘users-detail’,query:{id:2}})”>用户详情
<el-button @click=“$router.push({name:‘users-id’,params:{id:1}})”>用户详情
//_id.vue
用户id:{{ $route.params.id }}
//detail.vue
用户id:{{ $route.query.id }}
页面参数的效果(query)

路由参数的效果(params)

?嵌套路由
构造的目录结构要如下才会生成嵌套路由

在pages根目录下建立users.vue
目录结构如下

生成的路由配置如下
export const routerOptions = {
mode: ‘history’,
base: decodeURI(‘/’),
linkActiveClass: ‘nuxt-link-active’,
linkExactActiveClass: ‘nuxt-link-exact-active’,
scrollBehavior,
routes: [{
path: “/users”,
component: _c8a52a2e,
children: [{
path: “”,
component: _228b8179,
name: “users”
}, {
path: “detail”,
component: _7190858c,
name: “users-detail”
}, {
path: “:id”,
component: _a064e3be,
name: “users-id”
}]
}, {
path: “/”,
component: _564390b3,
name: “index”
}],
fallback: false
}
users.vue里要写路由展示区域nuxt.child
如此就可以正常使用了!
?路由守卫
plugin目录下建立router.js
export default ({app}) => {
app.router.beforeEach((to,from,next)=>{
console.log(我要去${to.path})
next()
})
}
nuxt.config.js里注册这个方法
plugins: [
‘@/plugins/element-ui’,
‘@/plugins/router’
],
自定义布局
default.vue是会匹配所有的页面,在上面添加内容会增加到所有页面,所以如果有一个所有页面都要共享的组件就写在default.vue里
layout目录下建立users.vue,注意必须有 否则会替换掉整个页面
用户页面自定义布局
再去pages下的users指定一下使用哪个自定义布局,通过layout:‘自定义布局的组件名’
错误页面
其实nuxt本身自带错误页面的(优点丑,而且错了就啥都看不见),所以我们自定义一个
在layout里新建error.vue
页面找不到
应用发生错误异常
首页
在pages下的users.vue里加上{{ foot.bar }},注意,这是不存在的,为了让程序出错
{{ foot.bar }}

样式有点丑,可以自己修改的
页面(涵盖异步数据获取)
例如定义data数据啥的,和vue是一模一样的!!,不多说
值得注意的是,我们可以设置一些其他的信息,例如页面标题
效果:

可以覆盖掉全局的seo信息
?异步数据的获取
asyncData方法使得我们可以在设置组件的数据之前就能异步获取或处理数据
asyncData//这个会在beforeCreate生命周期钩子之前执行
注意他会在客户端和服务端两端执行
在pages下的users.vue里写
- {{ user.name }}
-
注意事项:

?上下文对象的使用:
在pages下的users下的detail.vue中

不传入id就爆了我们需要的错误
?整合axios
如何安装nuxt是没选择axios,那么我们就要整合一下了!
npm install @nuxtjs/axios -S
再在nuxt.config.js里配置,用来解决跨域的问题
modules: [
// Doc: https://axios.nuxtjs.org/usage
‘@nuxtjs/axios’,
],
/*
** Axios module configuration
** See https://axios.nuxtjs.org/options
*/
axios: {
proxy: true
},
proxy:{
“/api”: “http://localhost:3001/”
},
当然如果所有页面都启用了ssr那么自然也就不需要跨域了,但通常大家都是首屏启用了ssr,其他页面仍是单页面,所有应当配置跨域
server目录下建立api.js,定义我们的后端接口,需要安装koa,koa-router,全局安装nodemon,装了就不需要
const koa = require(“koa”)
const app =new koa()
const Router = require(“koa-router”)
const router = new Router({prefix:‘/api/users’}) //请求地址
const users = [{name:‘tom’,id:1},{name:‘jey’,id:2}]
router.get(‘/:id’,ctx => {//带个参数id
const user = users.find(u => u.id == ctx.params.id)
if(user){
ctx.body = {ok:1,user}
}else{
ctx.body = {ok:0}
}
})
app.use(router.routes())
app.listen(3001)
nodemon api.js来启动这个服务
_id.vue中
用户id:{{ $route.params.id }}
{{ user.name }}
注意我注释掉的东西,效果如下

?拦截器实现
nuxt.config.js里配置
plugins: [
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。



由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)

最后
我可以将最近整理的前端面试题分享出来,其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器、数据结构与算法等等,还在持续整理更新中,希望大家都能找到心仪的工作。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
篇幅有限,仅展示部分截图:


nfig.js里配置
plugins: [
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-lpBsrSth-1710699866953)]
[外链图片转存中…(img-SXoOrkAe-1710699866954)]
[外链图片转存中…(img-Be2aTxHH-1710699866954)]
[外链图片转存中…(img-xZqbkEp4-1710699866954)]由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-R3DxznbL-1710699866955)]最后
我可以将最近整理的前端面试题分享出来,其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器、数据结构与算法等等,还在持续整理更新中,希望大家都能找到心仪的工作。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
篇幅有限,仅展示部分截图:



更多推荐




所有评论(0)