来源:未知 时间:2023-03-07 13:52 作者:小飞侠 阅读:次
[导读] nuxt.js是基于 Vue.js 创建的服务端渲染(ssr)应用框架。 一般使用nuxt.js多是用来解决seo的问题。 nuxt.js与vue.js的区别有: 路由: nuxt.js是按照pages文件夹的目录结构来自动生成路由。 vu...
nuxt.js是基于 Vue.js 创建的服务端渲染(ssr)应用框架。 一般使用nuxt.js多是用来解决seo的问题。 nuxt.js与vue.js的区别有:路由:nuxt.js是按照pages文件夹的目录结构来自动生成路由。 vue.js则是需要在router/index.js中手动配置路由。 入口页面:nuxt.js的入口页面是layout/default.vue。 vue.js的入口页面为src/App.vue。 pack配置nuxt内置webpack,允许根据服务端需求,在 nuxt.config.js 中的build属性自定义构建webpack的配置,覆盖默认配置。 vue关于webpack的配置存放在build文件夹下。 nuxt.js不一定一直运行在客户端(存储方面建议cookie),vue.js则是一直运行于客户端。 nuxt.js相比于vue.js优点在于 便于seo 和 更利于首屏加载。 生命周期:nuxt.js对于vue.js的生命周期函数进行了一部分拓展。新增了 middleware(){}, // 服务端 validate() {}, // 服务端 asyncData() {}, // 服务端 fetch() {}, // store数据加载 beforeCreate() {}, // 服务端和客户端都会执行 created() {}, // 服务端和客户端都会执行 vue.js的生命周期钩子中只有beforeCreate(){}和created(){}会在浏览器和服务端均被调用,其他只有在浏览器端被调用 nuxt.js内置webpack, 路由:nuxt根据pages目录结构生成路由配置,异步数据asyncData,必须要页面组件才能调用asyncData,asyncData传入context参数,可以获取一些信息 export default { asyncData(ctx){ ctx.app // 根实例 ctx.route // 路由实例 ctx.params // 路由参数 ctx.query // 路由问号后的参数 ctx.error // 错误处理方法 }} // 使用这个方法时要注意,如果由于服务器或api错误导致无法渲染,就要做好容错机制,可以使用context.error方法 async asyncData(ctx){ try { throw new Error() } catch { ctx.error( {statusCode: 500, message: '服务器开小差了~'} ) // 这里的statusCode参数必须是http状态码 } } 此时,错误页可以通过/layout/error.vue自定义 middleware() 在特定页面实战中间件使用axios请求数据 nuxt默认安装axios,所以只要安装proxy即可 npm install @nuxtjs/proxy 安装之后需要在nuxt.config.js中配置 export default { modules: [ '@nuxtjs/axios', '@nuxtjs/proxy' ], proxy: { './api': { target: 'http://www.xxx.com', changeOrigin: true, pathRewrite: { '^/api': '' } } } } 以上就是nuxt.js和vue.js区别全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com