__dirname
当前js文件所在绝对路径
path
模块
const path = require('path'); // 导入path模块 let url = path.join(__dirname, 'a','b'); // 拼接字符串 console.log(url) // E:\NodeDay01\a\b
art-template 是一个简约、超快的模板引擎
// 1. 引入模块 var fs = require('fs') var template =require('art-template') const http = require('http') // 创建服务器对象 var server = http.createServer(); // 开启服务,并设置监听端口 server.listen(3000,()=>{ console.log('the server is running at http://127.0.0.1:3000'); }) // 请求事件 server.on('request',(req,res)=>{ // 获取url var url = req.url; if(url=='/'){ //4.1 读取数据 fs.readFile(__dirname+"/views/index.html",'utf-8',(err,data)=>{ if(err) return console.log(err.message); var render = template.compile(data); // var str = render({}); var str = render({ name:'tom', age:20, hobby:['抽烟','喝酒','烫头'] }); res.end(str); }) }else { res.end('404') } })
template.render(source,data)
var str = template.render(data,obj);
template(filename,data)
var obj = { name: 'tom', age: 20, hobby: ['抽烟', '喝酒', '烫头','撩妹'] } var str = template(__dirname+'/views/index.html',obj)
安装
npm i express
使用
var express = require('express'); var ejs = require('ejs'); // 创建服务器对象 var app = express(); // 启动服务,监听端口 app.listen(3000,()=>{ console.log('express server is running at http://127.0.0.1:3000'); }) // 4. 注册中间件 // 设置一个指定的模板引擎ejs,其中第一个参数的值是固定写法. app.set('view engine','ejs'); // 第二个app.set是指定要渲染的页面的来源,第一个参数也是一个固定的写法,表示是要渲染的是静态页面 app.set('views','./views') // get 请求 app.get('/', (req, res) => { // res.send('这是主页面的内容...') res.render('index',{name:'tom',age:20,gender:'男',hobby:['吃饭','睡觉','打豆豆']}) } // post请求 app.post('/',(req, res) => { res.send('这是一个post请求啊...') })
app.route()
app.route('/book') .get((req,res)=>{ res.send('Get a random book'); }) .post((req,res)=>{ res.send('Add a book'); }) .put((req,res)=>{ res.send('Updata the book') })