最近,一直在纠结一个问题,以前用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文件的方式如此简单,真的扎心。