繁体   English   中英

如何使用ExpressJS发送AngularJS文件?

[英]How to send an AngularJS file with ExpressJS?

我是ExpressJS的新手,我有一个使用EJS的小例子,但我想使用AngularJS来操作DOM。 两种技术都为我提供DOM操作,那么为什么有人一起使用它呢? 我不明白

我不知道如何呈现HTML文件。 将AngularJS与ExpressJS结合使用的正确方法是什么?

res.render('index.html');

据我所知,EJS实际上是用于模板化的,没有嵌入式js在客户端上执行。

我个人发现在某些情况下可以在AngularJS或任何客户端框架中使用模板语言。 例如,有时能够将一些csurf令牌或客户端应用程序所需的会话数据插值到服务器上的html中是很好的。 其他时间则没有必要。

至于呈现html,请使用express.static中间件。 Express附带了它,您传递了文件路径,并返回了将处理给定目录内容的处理程序。 您可以将express.static放在中间件链中的任何位置,但是我通常将其放在顶部,以避免命名问题。 阅读文档以获取更多信息。

考虑以下:

 var express = require('express')
 var app = express();
 // Asssuming we have a directory 
 // `public` in the root of the application
 app.use('/', express.static(__dirname + '/public'));
 // now you're serving all the files in public directory off the root path
// Add middlewares and routes...

对于一个非常简单的应用程序,您可以使用fs模块,并将文件内容流式传输到响应。 下面是一个简单的示例,说明如何执行此操作,在生产环境中,您将希望侦听error事件并实现某些缓存控制。

  app.get('/', function(req, res) {
     res.set('Content-Type', 'text/html');
     fs.createReadStream('./index.html').pipe(res);
  });

请使用:第一次渲染,有关更多信息,请访问http://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm

var express = require('express');
var app = express();
 app.get('/', function (req, res) {
 res.sendFile( __dirname + "/" + "index.html" );
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM