解决无法找到模块“express-art-template”的声明

解决无法找到模块“express-art-template”的声明_前端


解决无法找到模块“express-art-template”的声明_html_02

在Express中配置使用​​art-templete​​模板引擎

  • 还有ejs,jade(pug),handlebars,nunjucks

安装:

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

//两个一起安装
npm

但是

解决无法找到模块“express-art-template”的声明_前端_03

无法找到模块“express-art-template”的声明文件让人很郁闷。

解决办法:

在整个项目的大文件(根目录下)创建:
在根目录新建文件名: ​​​legacy.d.ts​​ 文件内容写上以下声明:

declare module 'teaset';
declare module 'express-art-template';

解决无法找到模块“express-art-template”的声明_javascript_04

配置完以后还不一定会成功读取:
在接着设置路径:

app.engine('html', require('express-art-template'));
app.set('views', path.join(__dirname, 'views'));

使用:

app.get('/',function(req,res){
// express默认会去views目录找index.html
res.render('index.html',{
title:'hello world'
});
})

如果希望修改默认的​​views​​视图渲染存储目录,可以:

// 第一个参数views千万不要写错
app.set('views',目录路径);

整个实例代码描述

var express = require('express');
var path = require('path');
var server = express();

server.engine('html', require('express-art-template'));
server.set('views', path.join(__dirname, 'views'));

server.get('/', function (req,) {
res.render('index.html');
});
// 看的出来,使用res.rend方法之后,只关注views文件内容
server.get('/admin', function (req,) {
res.render('admin/01.html', {
// 替换目标
title: '阿牛哥语录'
});

})

server.use('/public', express.static(path.join(__dirname, './public/')));

server.listen('3000', function () {
console.log('running……');
})

解决无法找到模块“express-art-template”的声明_模板引擎_05

// 看的出来,使用res.rend方法之后,只关注views文件内容
server.get('/admin', function (req,) {
res.render('admin/01.html', {
// 替换目标
title: '阿牛哥语录'
});