溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue.js通用應(yīng)用框架-Nuxt.js的上手教程

發(fā)布時(shí)間:2020-08-29 02:06:47 來(lái)源:腳本之家 閱讀:161 作者:魏永_Owen_Wei 欄目:web開(kāi)發(fā)

對(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。

Vue.js通用應(yīng)用框架-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)如下圖所示:

Vue.js通用應(yīng)用框架-Nuxt.js的上手教程

項(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ú)效的。

Vue.js通用應(yīng)用框架-Nuxt.js的上手教程

內(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í)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI