我有一个基本的index.html
文件,当浏览器请求路由文件将添加/附加一个html按钮到该文件但实际上不会写入该文件。这听起来很傻但我想要这样做,以便我可以为查看仪表板的某些用户动态添加“迷你应用程序”。
答案 0 :(得分:0)
如果没有服务器上的实际动态代码,您将无法生成静态代码(这将在每个请求上解析html并在其中放置一个处理器上非常昂贵的按钮)。我建议您使用javascript来放置此按钮,因为您的问题不提供任何需要改进的代码。
如果您对模板持开放态度,这是您的幸运日。 ExpressJS非常支持模板: http://expressjs.com/guide/using-template-engines.html
或者,您可以放置标记,例如<%button here%>并使用.replace
或RegEX替换该特定文件的缓冲区或字符串。
编辑:
最后一条建议的示例。此代码不完整,请不要在生产中使用此代码
app.get('/', function (req, res) {
fs.readFile(path_to_file, { encoding: 'utf8' }, function(error, buffer){
if(error) return res.status(404).end();
res.send(buffer.replace('<% tag %>', "<div ...>"));
});
});