Я делаю проект, используя стек MEAN, и хотел бы обслуживать мои файлы с помощью экспресс. До сих пор, когда я загрузить страницу только индексный файл загружен, но и для других 2 зависимостей я получаю сообщение об ошибке, как это:, обслуживающий статический контент с помощью маршрута cachall - express
GET /assets/styles/css/application.css 404 9.470 ms - 151
Error: ENOENT: no such file or directory, stat '/home/shooshte/Webpages/Curriculum/assets/views/index.html'
at Error (native)
Я пытался служить мои файлы с express.static методом, но это похоже, не работает. Я также хочу иметь маршрут cachall, который всегда обслуживает мой файл index.html (создавая угловое приложение, поэтому угловое будет обрабатывать маршрутизацию из индекса).
Мой server.js файл:
// packages
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var morgan = require('morgan');
var path = require('path');
//app configuration
var port = process.env.PORT || 8080;
// body parser
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
//CORS requests
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With, content-type, Authorization');
next();
});
//log all requests to console
app.use(morgan('dev'));
app.use(express.static(__dirname +'/assets'));
//catchall route
app.get('*', function(req, res) {
res.sendFile(path.join(__dirname + '/assets/views/index.html'));
});
//start the server
app.listen(port);
console.log('Running on: ' + port);
index.html
<!doctype HTML>
<head>
<meta charset="utf-8">
<title>Miha Šušteršič</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/styles/css/application.css">
</head>
<body>
<script src="../../bower_components/angular/angular.min.js"></script>
</body>
моя структура файла выглядит следующим образом:
assets
--scripts
--styles
----css
------application.css
----sass
--views
--index.html
bower_components
node_modules
.gitingnore
bower.json
gulpfile.js
package.json
readme.md
server.js
Вы обслуживаете index.html из каталога представлений в своем коде кода catchall, тогда как в вашей файловой структуре index.html находится непосредственно под каталогом ресурсов? –