9

我正在使用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');

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

4

1 回答 1

14

只是一个想法,但你可以使用类似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());
});
于 2013-03-22T15:59:24.147 回答