Мое приложение не загружает шаблоны в ng-view внутри index.thml. Я дал свой код здесь, потому что я потерян.
app.js
var express = require('express');
var app = express();
var path = require('path');
var bodyParser = require('body-parser');
// var $ = require('jquery');
// global.jQuery = $;
// var bootstrap = require('bootstrap');
app.use(express.static(path.join(__dirname, 'public')));
app.set('views', __dirname + 'views');
app.set('view engine', 'html');
var routes = require('./routes');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/', function(req, res) {
res.sendFile(__dirname + "/public/views/index.html");
});
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
console.log('Started Success http://localhost:' + server.address().port);
});
И угловой маршрут
angular.module('geradorContrato', ['ngRoute'])
.config(function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/contrato', {
templateUrl: '/public/views/contrato.html',
controller: 'ContratoController'
})
.when('/contratante', {
templateUrl: '/public/views/contratante.html',
controller: 'ContratanteController'
})
.when('/contratada', {
templateUrl: '/public/views/contratada.html',
controller: 'ContratadaController'
})
.when('/bemvindo', {
templateUrl: 'public/views/bemVindo.html',
});
});
Но когда я получаю доступ к http://localhost: 3000/#/bemvindo. Ошибка загрузки страницы index.html, но ngview не загружается и показывается сообщение. Невозможно GET/public/views/bemVindo.html в консольную сеть хром
Ниже мой index.html
<!DOCTYPE html>
<html ng-app="geradorContrato">
<head>
<meta charset="UTF-8">
<base href="/">
<link rel='stylesheet' href='/stylesheets/dist/css/bootstrap-theme.css'>
<link rel='stylesheet' href='/stylesheets/dist/css/bootstrap.css'>
<link rel="stylesheet" type="text/css" href="/stylesheets/mainStyle.css">
<script src="/javascript/lib/angular.js"></script>
<script src="/javascript/lib/angular-route.js"></script>
<script src="/javascript/lib/jquery.js"></script>
<script src="/javascript/lib/bootstrap.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular-animate.js"></script>
<script src="/javascript/main.js"></script>
<script src="/javascript/ContratoController.js"></script>
<title>Cadastro</title>
<head>
<body>
<div class="container">
<ng-view></ng-view>
</div>
</body>
</html>
и ниже моя страница простая bemVindo.html
Это базовая структура моего приложения
Извините, ребята, если вы что-то не поняли, скажите мне, пожалуйста, pl
Извините за мой английский
Deek:
var express = require('express');
var app = express();
var path = require('path');
var bodyParser = require('body-parser');
app.use(express.static(path.join(__dirname, 'public')));
var routes = require('./routes');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use('/', express.static(path.join(__dirname, '/public/views/index.html')));
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
console.log('Started Success http://localhost:' + server.address().port);
});
Ошибка Невозможно GET/
Избавиться от:
app.set('views', __dirname + 'views');
app.set('view engine', 'html');
Не нужно.... view engine html по умолчанию. Папка Views не используется.
EDIT: удалите это тоже:
app.use(express.static(path.join(__dirname, 'public')));
Измените это:
app.get('/', function(req, res) {
res.sendFile(__dirname + "/public/views/index.html");
});
К этому:
app.use('/', express.static(path.join(__dirname, '/public/views/index.html')));
Сообщите, что это статический каталог, в котором находятся html и поддерживающие файлы.
Express будет рассматривать его как обычный html-каталог и попытаться найти индексный файл. Из вашего индексного файла угловой захват маршрутизации.
Если вы хотите использовать экспресс и шаблоны для маршрутизации, то, как вы это сделали, лучше всего.
Вы устанавливаете папку представлений, если хотите, чтобы экспресс загружал файлы шаблонов, но у вас их нет.
Вы можете смешивать и сочетать с угловыми.
путь, который вы указали, должен быть неправильным, проверьте путь, в котором находится ваш файл, попробуйте отключить путь в консоли javascript и предоставить правильный путь. "Невозможно GET/public/views/bemVindo.html" означает, что файл bemVindo.html отсутствует в папке /public/views. Он не может найти файл, следовательно, показывая эту ошибку.
/public/views/contratante.html'
to/views/contratante.html'