【发布时间】:2020-06-08 02:21:34
【问题描述】:
我正在使用 Express Application Generator,并从默认选项中选择“EJS”。我有一个不错的工作站点,但老实说,我只需要服务器每天更新一次缓存的 API。
在其他项目中,当我使用 hexo.js 时,我会将所有 EJS 模板呈现到“公共”文件夹中。
目前 express 可以很好地为我的 EJS 应用程序提供服务,但我如何让它输出一个完整的静态版本?
查看 EJS 文档,我发现了一些让我尝试这个的东西:
ejs /home/kyle/code/corona/corona-server/views/analysis.ejs -o test.html
/usr/local/lib/node_modules/ejs/lib/ejs.js:359
throw err;
^
Error: ejs:1
>> 1| <%- include("_partials/base", {
2| page:"analysis",
3| combo:["ionrangeslider"],
4| scripts: ["analysis"],
Could not find the include file "_partials/base"
at getIncludePath (/usr/local/lib/node_modules/ejs/lib/ejs.js:183:13)
at includeFile (/usr/local/lib/node_modules/ejs/lib/ejs.js:309:19)
at include (/usr/local/lib/node_modules/ejs/lib/ejs.js:689:16)
at eval (eval at compile (/usr/local/lib/node_modules/ejs/lib/ejs.js:661:12), <anonymous>:10:17)
at anonymous (/usr/local/lib/node_modules/ejs/lib/ejs.js:691:17)
at Object.exports.render (/usr/local/lib/node_modules/ejs/lib/ejs.js:423:37)
at Immediate.run (/usr/local/lib/node_modules/ejs/bin/cli.js:197:20)
at runCallback (timers.js:705:18)
at tryOnImmediate (timers.js:676:5)
at processImmediate (timers.js:658:5)
但无济于事,这样运行时似乎无法处理相对文件路径。
这样做的正确方法是什么?
【问题讨论】:
标签: express ejs server-side-rendering