Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境,它可以使 JavaScript 代碼在服務(wù)器端運(yùn)行,對(duì)開發(fā) SPA 單頁(yè)應(yīng)用的 Vue.js 框架有非常大的幫助。以下是使用 Node.js 渲染 Vue.js 的簡(jiǎn)單介紹。
首先,在項(xiàng)目的根目錄下通過(guò)終端命令安裝 Vue.js 和 Vue-server-renderer:
npm install vue vue-server-renderer --save
接下來(lái),在我們的 server.js 文件中引入 Vue.js 和 Vue-server-renderer:
const Vue = require('vue');
const renderer = require('vue-server-renderer').createRenderer();
我們可以使用 createRenderer() 方法創(chuàng)建一個(gè)渲染器,并且可以通過(guò)傳遞一個(gè)可選的配置參數(shù),來(lái)定義渲染器的行為。最基本的 Vue.js 組件的例子:
const app = new Vue({
template: 'Hello World'
});
renderer.renderToString(app, (err, html) =>{
console.log(html);
});
運(yùn)行這個(gè)代碼,我們會(huì)在控制臺(tái)中看到:<div>Hello World</div>
。
Vue.js 的渲染器提供了兩種渲染方式:靜態(tài)渲染和動(dòng)態(tài)渲染。默認(rèn)的是動(dòng)態(tài)渲染。如果你希望使用靜態(tài)渲染,只需要在 createRenderer() 方法中傳遞{ static: true }
參數(shù)即可。
我們可以使用 Node.js 作為后端服務(wù)器,來(lái)提高 Vue.js 應(yīng)用程序的性能和 SEO (Search Engine Optimization)。使用 Node.js 渲染 Vue.js 的 SPA 單頁(yè)應(yīng)用,不僅使應(yīng)用程序更加健壯,并且有更好的性能表現(xiàn)。