使用Express将javascript代码注入html

时间:2013-03-22 15:40:10

标签: javascript html express impress.js

我正在编写一个使用Express框架的Web应用程序来生成Impress.js演示文稿并在其上应用可视化编辑器。 我已经设置app.js只获取.html文件,但我想在.html文件的正文结束标记之前从单独的文件中注入一个javascript代码。

例如,我将有一个路由处理程序/edit,然后在将脚本注入html代码后触发脚本。

var express = require('express');

var app = express();


app.configure(function(){
    app.use(express.static(__dirname + '/public'));
});

app.get('/:file', function(req, res) {
  res.sendfile(__dirname + '/public' + file);
});

app.listen(3000);
console.log('Listening on port 3000');

关于如何实现这一目标的任何想法都非常受欢迎!

1 个答案:

答案 0 :(得分:9)

只是一个想法,但你可以使用cheerio之类的东西将脚本附加到正文

app.get('/:file', function(req, res) {
  var html = fs.readFileSync(__dirname + '/public' + file, 'utf8');
  var $ = cheerio.load(html);
  var scriptNode = '<script>alert("script appended!");</script>';
  $('body').append(scriptNode);
  res.send($.html());
});