2015-10-07 2 views
0

Я новичок в ExpressJS, у меня есть небольшой пример использования EJS, но я хочу использовать AngularJS для управления DOM. Обе технологии предлагают мне манипулирование DOM, так почему некоторые люди используют его вместе? Я не понимаю.Как отправить файл AngularJS с помощью ExpressJS?

Я понятия не имею, как визуализировать HTML-файлы. Каков правильный способ использования AngularJS с ExpressJS?

res.render('index.html'); 

ответ

2

Насколько я знаю, EJS действительно предназначен для шаблонов, ни один из встроенных js не выполняется на клиенте.

Лично я нашел несколько случаев, когда удобно использовать язык шаблонов с помощью AngularJS или любой клиентской рамки. Например, иногда приятно иметь возможность интерполировать токены csurf или данные сеанса, требуемые клиентским приложением, в ваш html на сервере. В других случаях это необязательно.

Как для рендеринга html, используйте промежуточное программное обеспечение express.static. Он поставляется с Express, вы передаете путь к файлу и возвращает обработчик, который будет обслуживать содержимое данного каталога. Вы можете поставить express.static в любом месте в цепочке промежуточного программного обеспечения, но я обычно ставил его наверху, чтобы избежать проблем с именами. Прочтите documentation для получения дополнительной информации.

Рассмотрим следующий пример:

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); 
    }); 
0

Пожалуйста, используйте это: чтобы сделать первый раз и для получения дополнительной информации, пожалуйста, перейдите ее 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"); 
})