Задать вопрос

Как обработать index.html?

В общем, остановился я на начале начал.
Имею структуру проекта
app
--index.html
bower_components
server.js
, т.е. server.js находится в корне, файл index.php находится в корне папки app.
Пишу в server.js
var express = require('express');
var app = express();                       
var morgan = require('morgan');          
var bodyParser = require('body-parser'); 
var methodOverride = require('method-override'); 

  app.set('views', 'app');
  app.engine('html', require('ejs').renderFile);
  app.set('view engine', 'html');    

app.use(bodyParser.urlencoded({'extended': 'true'}));            // parse application/x-www-form-urlencoded
app.use(bodyParser.json());                                     // parse application/json
app.use(bodyParser.json({type: 'application/vnd.api+json'})); // parse application/vnd.api+json as json
app.use(methodOverride());

// listen (start app with node server.js) ======================================
app.listen(8080);
console.log("App listening on port 8080");

app.get('/*', function (req, res) {
    res.render('index.html'); // load the single view file (angular will handle the page changes on the front-end)
});

ejs установлен. В index.html
<!DOCTYPE html>
<!--[if lt IE 7]>      <html lang="en" ng-app="app" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html lang="en" ng-app="app" class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html lang="en" ng-app="app" class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en" ng-app="app" class="no-js"> <!--<![endif]-->

    <head>
        <title></title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- bower:css -->
        <link rel="stylesheet" href="../bower_components/angular-material/angular-material.css" />
        <!-- endbower -->
        <link href="app/core/client/css/core.css" rel="stylesheet" type="text/css">
        <link href="app/ehr/client/css/ehr.css" rel="stylesheet" type="text/css">


    </head>
    <body>
        <div ng-include="'core/client/views/header.view.client.html'"></div>
        <div ui-view class="main-inner"></div>
       
        <!-- bower:js -->
        <script src="../bower_components/angular/angular.js"></script>
        <script src="../bower_components/angular-loader/angular-loader.js"></script>
      ...
      </body>


При запуске localhost:8080 получаю ошибку в консоле
Uncaught SyntaxError: Unexpected token <

При этом в Network Chrome - все ресурсы, подключаемые на этой странице, имеют статус 200.

Я как то не так настроил ejs?
  • Вопрос задан
  • 579 просмотров
Подписаться 2 Оценить 3 комментария
Решения вопроса 1
Указываем путь к статическим ресурсам через express.static, к примеру корень проекта
app.set('views', 'app');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html'); 

app.use(express.static(__dirname + '/')); <-- this

Подключаем ресурсы
<link href="/app/core/client/css/core.css" rel="stylesheet" type="text/css">
<link href="/app/ehr/client/css/ehr.css" rel="stylesheet" type="text/css">

<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/angular-loader/angular-loader.js"></script>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы