Nuxt.js预渲染
个人认为这个框架有点鸡肋,起初以为它可以做到SSR,事实too young too naive,这个框架还是相当于封装了个prerender-spa-plugin插件,增加了一些独有的特性和方法,要想做到SSR还是得依赖node;
nuxt基于vuejs的seo优化
一、css单独打包
在nuxt.config.js配置中加下面代码:
| 1 | build: { | 
二、html中TDK自定义
page目录下的.vue文件中加下面代码:
| 1 | export default { | 
三、修改局域网配置
在package.json中新添加
| 1 | "config": { | 
四、插件引用
以生成二维码插件为例:
1.在plugins目录下新建qrcode.js文件:
| 1 | import Vue from 'vue' | 
2.在nuxt.config.js配置文件中:
| 1 | plugins: [ | 
这样就可以在全局.vue中使用了,new this.$qrcode()
五、环境配置
1.nuxt.config.js文件中添加配置项:
| 1 | env: { | 
2.package.json文件中修改:
| 1 | "scripts": { | 
这样,本地、测试、生产环境就都有了,执行对应命令即可如:npm run dev, npm run test, npm run generate
3.在axios等请求中就可以使用不同的process.env.BASE_URL来使用接口域名
六、asyncData 方法
- 你可能想要在服务器端获取并渲染数据。Nuxt.js添加了asyncData方法使得你能够在渲染组件之前异步获取数据。
七、css按需引入
通过阅读 nuxt 源码发现了端倪,发现在打包时将所有的公共css通过 splitChunks 进行分组,由于项目中组件都是动态引入的,这里直接在 nuxt.config.js 中修改webpack打包参数,将 splitChunks.cacheGroups.styles 配置删除,使用默认的 chunks: async 配置,即可实现按需引入。