从 ejs 模板生成静态 HTML 文件

2024-03-01

好的,我已经启动并运行了我的基本 Nodejs 网站。这一切都正常工作并通过节点服务器运行 - 使用我的基本节点站点 https://github.com/andrewbrandwood/node-basic-site

它使用 ejs 作为模板引擎。

我想将这些模板作为静态网站发布。因此,所有内容都在本地生成,并将我的所有页面导出到静态 HTML 文件,我可以在我的基本托管平台上发布这些文件。不需要服务器端技术。

我看过玉石,但它要求我更改模板和结构。

有没有任何工具可以将我当前的设置发布到包含所有生成的 html 文件的文件夹?

谢谢你的帮助。值得赞赏。


只要安装了 EJS npm 包就可以编译它。

var fs = require('fs'),
    ejs = require("ejs");

function ejs2html(path, information) {
    fs.readFile(path, 'utf8', function (err, data) {
        if (err) { console.log(err); return false; }
        var ejs_string = data,
            template = ejs.compile(ejs_string),
            html = template(information);
        fs.writeFile(path + '.html', html, function(err) {
            if(err) { console.log(err); return false }
            return true;
        });  
    });
}

ejs2html(__dirname+"/index.ejs")
  • Path:文件所在位置,包含__dirname否则它不会起作用
  • 信息:要编译的信息,例如{users: ['bill','bob']}(选修的)

EJS https://www.npmjs.com/package/ejs

在 NodeJS 中读取文件 https://docs.nodejitsu.com/articles/file-system/how-to-read-files-in-nodejs

Edit

我使代码工作并测试了它,ejs 文件将被编译并写入同一目录.html追加到最后。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 ejs 模板生成静态 HTML 文件 的相关文章

随机推荐