2015-11-07 75 views
0

我有一个基本的index.html文件,当浏览器请求路由文件时,会为该文件添加/附加一个html按钮,但实际上不会写入该文件。这听起来很愚蠢,但我想这样做,以便我可以为查看仪表板的某些用户动态添加“迷你应用”。将HTML附加到Express中的路由

+0

使用哪里的描述问题,你被卡在解决自己吗?你研究并尝试了哪些解决方案? – jfriend00

回答

0

如果服务器上没有实际的动态代码(这将在每个请求上解析html并在其中放置一个在处理器上非常昂贵的按钮),您将无法创建静态代码。我建议你使用javascript来放置这个按钮,因为你的问题没有提供任何代码进行改进。

如果您对模板开放,这是您的幸运日。 ExpressJS支持模板真的很好: http://expressjs.com/guide/using-template-engines.html

或者你可以将标签如<%按钮这里%>和使用.replace或正则表达式从该特定文件的缓冲区或字符串替换。

编辑:

上次建议的示例。此代码是不完整的,请不要在生产

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 ...>")); 
    }); 
});