javascript - 如何从 Express.js 发送纯 HTML

标签 javascript node.js angularjs express

我的index.html文件有这个:

<input name='qwe'>
{{qwe}}

我希望 {{qwe}} 按字面意思发送,即不被服务器填充的变量替换。

我该怎么做?我在这个伪代码中思考:

app.get('*',function(req,res){
  fs.read('index.html',function(data){
    res.send(data)
  })
})

但我想我不知道这通常是如何完成的。也许我必须使用预定义的 Express.js 模板引擎:

app.engine('html', ...)

但我不知道 documentation 的哪一部分读书。我还看了consolidate.js ,但是所有这些模板,似乎都是“模板引擎”,我真的需要模板引擎吗?

我想按原样发送文件。

顺便说一句,我做这一切是因为我想使用 Angular.js,但出于实验目的,我没有使用 MEAN ,我认为 MEAN 必须做这样的事情。

更新

我正在尝试这个:

app.get('*',function(req, res){
  require('fs').readFile('views/index.html', 'utf8', function(err, data){
    if(err) throw err;
    res.send(data);
  })
  // res.sendfile('views/index.html');
});

但是文件已下载但未呈现,有什么建议吗?我想我必须设置 Content-Type 或其他 header ?

最佳答案

在 Express 中,当服务器收到 /GET 请求时,它将搜索/public/index.html 作为响应。您不必为该 / 添加路由器。

因此,您只需将 index.html 放入 public 文件夹中,然后从浏览器中点击 / 即可。你应该得到它。

关于javascript - 如何从 Express.js 发送纯 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772726/

相关文章:

javascript - d3.js 以 HTML 为节点的二叉树

javascript - XHML 中的 Google 自定义搜索(或替代搜索)

javascript - 如何更改 Nvd3 中的 y 轴刻度?

javascript - AngularJS - ngRepeat 将所选行显示为事件状态

AngularJS ng-model-options getter-setter

javascript - jquery多复选框问题

javascript - 如何在不使用 span 标签的情况下使一小段文本中的前几个词以斜体和小型大写字母显示?

node.js - 如何在node.js、mongoose 中使用填充数据?

javascript - 如何停止 Node js-winston库中出现audit.json文件

javascript - 如何在 NodeJs 上创建一个包含 2 亿个元素的数组?