控制台报错信息
const dateFormat = require('dateformat');
^
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\文档\Web视频案例
\Node\template\node_modules\dateformat\lib\dateformat.js from D:\文档\Web视频案例
\Node\template\06.js not supported.
Instead change the require of dateformat.js in D:\文档\Web视频案例\Node\template
\06.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (D:\文档\Web视频案例\Node\template\06.js:4:20) {
code: [32m'ERR_REQUIRE_ESM'[39m
原代码
// 导入模板引擎
const template = require('art-template');
const path = require('path');
const dateFormat = require('dateformat');
const views = path.join(__dirname, 'views', '06.art')
// 导入模板变量
template.defaults.imports.dateFormat = dateFormat;
const html = template(views, {
time: new Date()
})
console.log(html);
{{ moment(time,'yyyy-mm-dd') }}
解决方法
使用moment代替dateformat
新代码
// 导入模板引擎
const template = require('art-template');
const path = require('path');
const moment = require('moment');
const views = path.join(__dirname, 'views', '06.art')
// 导入模板变量
template.defaults.imports.moment = moment;
const html = template(views, {
time: new Date()
})
console.log(html);
{{ moment(time).format('YYYY-MM-DD') }}
修改后控制台信息
2021-12-10