您好,登錄后才能下訂單哦!
對(duì)于React,Vue構(gòu)建的單頁(yè)面應(yīng)用老說(shuō),SEO是一個(gè)眾所周知的問(wèn)題。服務(wù)端渲染(SSR-server Side Render)是目前看來(lái)最好的解決辦法。React應(yīng)用有Next.js,對(duì)應(yīng)Vue的解決方案就是Nuxt.js。
1.簡(jiǎn)介
官網(wǎng):https://nuxtjs.org/
GitHub:https://github.com/nuxt/nuxt.js
Nuxt.js 是什么?
Nuxt.js 是一個(gè)基于 Vue.js 的通用應(yīng)用框架。
通過(guò)對(duì)客戶端/服務(wù)端基礎(chǔ)架構(gòu)的抽象組織,Nuxt.js 主要關(guān)注的是應(yīng)用的 UI渲染。
我們的目標(biāo)是創(chuàng)建一個(gè)靈活的應(yīng)用框架,你可以基于它初始化新項(xiàng)目的基礎(chǔ)結(jié)構(gòu)代碼,或者在已有 Node.js 項(xiàng)目中使用 Nuxt.js。
Nuxt.js 預(yù)設(shè)了利用Vue.js開(kāi)發(fā)服務(wù)端渲染的應(yīng)用所需要的各種配置。
除此之外,我們還提供了一種命令叫:nuxt generate,為基于 Vue.js 的應(yīng)用提供生成對(duì)應(yīng)的靜態(tài)站點(diǎn)的功能。
我們相信這個(gè)命令所提供的功能,是向開(kāi)發(fā)集成各種微服務(wù)(microservices)的 Web 應(yīng)用邁開(kāi)的新一步。
作為框架,Nuxt.js 為 客戶端/服務(wù)端 這種典型的應(yīng)用架構(gòu)模式提供了許多有用的特性,例如異步數(shù)據(jù)加載、中間件支持、布局支持等。
2.構(gòu)建第一個(gè)Nuxt.js項(xiàng)目
推薦使用Nuxt提供的模板。假設(shè)你已經(jīng)安裝了vue-cli,如果沒(méi)有安裝請(qǐng)先執(zhí)行npm install vue-cli -g來(lái)安裝vue-cli。
$ vue init nuxt-community/starter-template <project-name>
進(jìn)入到項(xiàng)目文件夾中安裝依賴包。
cd <project-name> npm install
啟動(dòng)項(xiàng)目。
npm run dev
打開(kāi)瀏覽器,訪問(wèn)http://localhost:3000。就能看到Next渲染出來(lái)的頁(yè)面了。
3.添加頁(yè)面
新建完成的項(xiàng)目結(jié)構(gòu)如下圖所示:
項(xiàng)目結(jié)構(gòu)
Nuxt約定所有頁(yè)面都放在pages文件夾下,Nuxt會(huì)根據(jù)目錄結(jié)構(gòu)自動(dòng)生成對(duì)應(yīng)的路由。
現(xiàn)在在pages下新建Vue文件test.vue,訪問(wèn)http://localhost:3000/test即可看到剛剛添加的頁(yè)面。
4.引入第三方插件
通常情況下我們都需要引入第三方的插件,比如前段組件,日志等。
第一步當(dāng)然是安裝插件,此處以element-UI為例。
npm install element-ui
雖然下載了element-ui的包但是卻不能像普通項(xiàng)目那樣直接在Vue實(shí)例中import然后使用。Nuxt的內(nèi)核項(xiàng)目都在.nuxt目錄下,如果修改這下面的文件是不會(huì)生效的。因?yàn)槊看尉幾g都會(huì)重新生成文件,所以直接修改該項(xiàng)目文件是無(wú)效的。
內(nèi)核項(xiàng)目結(jié)構(gòu)
雖然不能直接修改,但是Nuxt提供了特殊的方式引入第三方插件。
第一步,在pulgin文件夾下新建js文件element-ui.js。文件內(nèi)容如下。
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會(huì)編譯該第三方插件并使用。此時(shí)在任何一個(gè)Vue文件中都能使用該第三方插件。
5.靜態(tài)資源文件
你可以把靜態(tài)資源文件放到static文件夾下,然后就可以使用http://localhost:3000/<文件名>來(lái)訪問(wèn)靜態(tài)資源文件。
Nuxt提供的功能還有很多,比如動(dòng)態(tài)路由,ESLint代碼檢測(cè)。今天先介紹到這里,其他深入的用飯請(qǐng)參考官方網(wǎng)站。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。