名词解释:
SEO: Search Engine Optimization 搜索引擎优化
SSR:server Side Render 服务端渲染
Nuxt.js应用背景:
对于React,Vue构建的单页面应用来说,SEO是一个众所周知的问题。SSR是目前看来最好的解决办法。
React应用有Next.js,对应Vue的解决方案就是Nuxt.js。
GitHub:https://github.com/nuxt/nuxt.js
构建第一个Nuxt.js项目
用npm install vue-cli -g来安装vue-cli。
$ vue init nuxt-community/starter-template
install the dependencies(进入项目文件夹安装依赖包):
$ cd <project-name>
$ npm install
and launch the project with(启动项目):
$ npm run dev
注:Nuxt.js will listen for file changes inside the pages directory, so there is no nee to restart the application when adding new pages.
打开浏览器,访问http://localhost:3000。就能看到Next渲染出来的页面了。
新建完的项目结构如下图:
现在在pages下新建Vue文件test.vue,访问http://localhost:3000/test
即可看到刚刚添加的页面。
--------------------------------------------------------------------------------------------------------------------
引入第三方插件:通常情况下我们都需要引入第三方的插件,比如前端组件,日志等。
第一步当然是安装插件,此处以element-UI为例。
npm install element-ui
虽然下载了element-ui的包但是却不能像普通项目那样直接在Vue实例中import然后使用。 Nuxt的内核项目都在.nuxt目录下,如果修改这下面的文件是不会生效的。因为每次编译都会重新生成文件,所以直接修改该项目文件是无效的
虽然不能直接修改,但是Nuxt提供了特殊的方式引入第三方插件。
第一步,在pulgin文件夹下新建js文件element-ui.js。文件内容如下。
import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(Element)
第二步,修改nuxt.config.js。添加plugins属性。
/**
* include third-party plugin
*/
plugins: ['~plugins/element-ui'] // element-ui.js文件地址
重新编译之后,Nuxt会编译该第三方插件并使用。此时在任何一个Vue文件中都能使用该第三方插件。
静态资源文件:你可以把静态资源文件放到static文件夹下,然后就可以使用http://localhost:3000/<文件名>来访问静态资源文件。