最近,一直在糾結一個問題,以前用apache服務器的時候,我們會把整個項目文件給拷貝過去,然后開啟服務器通過localhost去問訪問我們的靜態網頁。在node中,我怎么打開服務器后,像apache這樣通過localhost去訪問我的靜態頁面呢?跟node死纏爛打,走了很多彎路后,我才發現,原來利用ejs這個模塊引擎如此簡單 = =
一、首先,我們新建一個文件夾ejsTest,里面再創建一個views文件(用於放置你的靜態網頁和css等),服務器開啟的入口文件index.js文件
ejsTest ——views ——css ——js ——img ——ejsTest.html ——index.js // 文件結構
二、安裝ejs
npm i ejs --save
三、入口文件index.js的內容為:
var express = require("express") var app = express(); //注冊ejs模板為html頁。簡單的講,就是原來以.ejs為后綴的模板頁,現在的后綴名可以是.html了 //設置視圖模板的默認后綴名為.html,避免了每次res.Render("xx.html")的尷尬 app.engine('.html', require('ejs').__express); app.set('view engine', 'html'); //設置模板文件文件夾,__dirname為全局變量,表示網站根目錄 app.set('views', __dirname + '/views'); app.use(express.static(__dirname + '/views')); var server = app.listen(3000, function () { console.log("我正在監聽3000端口"); })
四、訪問views下的html文件,例如:localhost:3000/test.html
糾結了兩天的我,各種百度,最后發現node渲染.html文件的方式如此簡單,真的扎心。