js模板内容
app.set(‘view engine’,‘引擎名’) 设置渲染的模板引擎
path.resolve/join(__dirname,路径2) 路径模板下的方法,用来拼接路径,__dirname为当前js文件的目录;==process.cwd()==为执行命令的文件所在的目录,即package.json的目录
注图像、css和js等静态文件另外放置在assets目录,需要托管才能访问
app.use(express.static(path.resolve(__dirname,‘assets’)))
//src文件夹中有供package.json运行的js文件,还有view目录里面是ejs文件,assets目录里是静态资源目录
const express = require('express')
//原生路径模块
const path = require('path')
//生成express实例
const app = express()
//设置静态资源目录
app.use('/static', express.static(path.resolve(__dirname, 'assets')))
app.set('view engine','ejs')
//设置默认的views的目录
app.set('view',path.resolve(__dirname,'views'))
//这里get的第一个参数为服务器的不同页面
//render的第一个参数为ejs文件的名字,ejs文件中可以通过key取到第二个对象参数的value
app.get('/',(req,res)=>{
res.render('index',{
title:"ejs&express',
name:"小明"
})
})//在localhost:404的主页显示index.ejs内容
app.get('/about',(req,res)=>{
res.render('about',{
title:"about"
})
})//在localhost:404/about显示about.ejs内容
app.listen(404,()=>{
console.log("Server is running on localhost:404")
})
ejs模板内容
ejs支持html语法,可以直接写html内容
<%= 键名 %> 直接写js中render的第二个参数的键名可以获取对应的键值渲染到模板中
<%- include(‘name’); %> 引入公共模块(html)内容,name为模块名