在Express中配置使用art-template模板引擎
发布日期:2021-05-20 10:07:18 浏览次数:53 分类:技术文章

本文共 1739 字,大约阅读时间需要 5 分钟。

1、

2、项目结构

安装

npm install --save art-templatenpm install --save express-art-template

3、app.js

var express = require('express')var path = require('path')var bodyParser =require('body-parser')var session = require('express-session')var router = require('./router')// 模块中的路径标识和文件操作的相对路径标识不一致// 模块中的路径标识就是相对于执行的node 命令所处的路径var app = express()app.use('/public', express.static(path.join(__dirname, './public/')))app.use('/node_modules/', express.static(path.join(__dirname, '/node_modules')))app.engine('html', require('express-art-template'))app.set('views', path.join(__dirname, './views'))app.get('/', function (req, res) {
res.send('hello')})app.listen(3000, function () {
console.log('running.............')})// path路径操作模块// path.basename// path.join 拼接路径/** * 在每个模块中 * __dirname 可以动态获取当前文件所属目录的绝对路径 * __filename 动态获取当前文件的绝对路径 * * 文件操作路径中相对路径就是相对于执行node 命令所处的路径 * 在文件操作中,使用相对路径是不可靠的 * 解决方式就是将相对路径改为绝对路径 * 这里我们就可以使用__dirname 或者 __filename * 不受node命令所属命令所享 在拼接路径额过程中 * 多使用path.join()进行拼接字符串 * 所以为了尽量避免刚才所描述的问题 大家以后在文件操作的时候统一使用动态的绝对路径 *node中 有很多模板引擎可以使用 不是只有art-template*/

4、layout.html

    
Document
{
{ block 'head' }} {
{ /block }} {
{ include './header.html' }} {
{ block 'content' }}

默认内容

{
{ /block }} {
{ include './footer.html' }} {
{ block 'script' }} {
{ /block }}

5、index.html

{
{ extend './layout.html' }}
{
{ block 'head' }} {
{ /block }}
{
{ block 'content' }}

index 页面组件内容

{
{ /block }}
{
{block 'script' }}{
{ /block }}

6、footer.html

公共的底部

7、header.html

公共的头部

8、list.html

{
{ extend './layout.html' }}{
{ block 'content' }}

列表页自己的内容

{
{ /block }}

转载地址:https://blog.csdn.net/weixin_45416217/article/details/99573845 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:使用Mint-UI实现图片的懒加载
下一篇:ES6--数组实例的find()和findIndex()用法对比

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月12日 00时06分42秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

为什么图片要2的倍数_为什么宝宝喜欢流“口水”?这种2种原因父母要知道,建议收藏... 2019-04-21
下载了XAMPP怎样打开MYSQL_xampp mysql安装启动 2019-04-21
pdo转mysql_mysql转mysqli或pdo 2019-04-21
mysql如果没有表就创建_mysql – 改变表是否存在或创建如果没有 2019-04-21
ireport连接mysql_ireport 4.5教程之数据源介绍 2019-04-21
mysql多维模型_数据仓库数据库设计方法---关系模型和多维模型比较分析 2019-04-21
局域网聊天程序 java MySQL_java 基于TCP/IP协议的局域网聊天小程序 2019-04-21
r glm 中的p值_假设检验中的P值 2019-04-21
mysql中sql语句结构_MySQL中使用sql语句获得表结构 2019-04-21
如何增加mysql主键约束_mysql修改表时怎么添加主键约束? 2019-04-21
java选择路径窗口_Java实现选择电脑路径的方法 2019-04-21
java 图像渐变_Java基础之在窗口中绘图——渐变填充(GradientApplet 1) 2019-04-21
冒泡排序面向对象java_所谓的面向对象实现的冒泡排序 2019-04-21
proto 客户端 JAVA_Kubernetes官方java客户端之五:proto基本操作 2019-04-21
java编写roguelike_RogueLike地牢生成算法Unity实现 2019-04-21
java ajax 修改数据库数据库数据库_AJAX 自学练习 无刷新提交并修改数据库数据并显... 2019-04-21
java并发编程指南博客_Java并发编程-synchronized指南 2019-04-21
java怎么中断阻塞状态_java并发编程()阻塞方法与中断方法 2019-04-21
java zlib 位运算_位运算入门:找出一个二进制数的最右端的第一个1;计算一个二进制数中1的个数;找出数组中唯一一个出现次数为奇数的数;找出数组中唯二两个出现次数为奇数的数... 2019-04-21
java lua热更新_lua热更新学习 2019-04-21