меня очень похожая проблема с этим постом Learning Node - Express Public folder not workingузел выразить общую папку 404 ошибка
Я добавил к моему server.js
app.use("public",express.static(__dirname + '/public'));
Но когда я
http://localhost:8081/public/css/styles.css
http://localhost:8081/styles.css
Ни работы , Я получил «Не могу GET /public/css/styles.css» и «Не могу GET /styles.css» соответственно.
Вот мой server.js
var express = require('express')
, cors = require('cors')
, app = express()
, mongoose = require('mongoose')
, models = require('./models')
, bodyParser = require('body-parser')
, controllers = require('./controllers')
, port = 8081//process.env.PORT || 3000
// Config
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cors());
app.set('views', __dirname + '/views')
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
app.use("public",express.static(__dirname + '/public'));
app.use('/', controllers);
mongoose.set('debug', true);
mongoose.connect('mongodb://localhost/db', function (err) {
if (err) throw err;
console.log("mongoose connected")
var server = app.listen(port, function() {
var host = server.address().address
var port = server.address().port
console.log("RESTful Web Services listening at http://%s:%s", host, port)
})
})
Вот это index.js в папке контроллера
var express = require('express')
, router = express.Router()
, users = require('./api/users.js')
router.use('/api/user', users);
router.get('/', function (req, res) {
res.render('index.html')
})
//router.use(express.static('public'));
//router.use(express.static('views'));
router.get('/views/demo', function (req, res) {
res.sendFile('/views/demo.html')
})
module.exports = router
На самом деле, если я бегу
http://localhost:8081/views/demo.hmtl
Я бы снова получить «Не удалось загрузить ресурс: сервер ответил статусом 404 (не найден)«
Что я пропустил?
Вот как я настраиваю EJS и public static. 'app.set (" view engine "," ejs "). use (express.static (__ dirname +"/public "));' –
Стерлинг, благодаря ответу. Я использовал ваш код, и ошибка сохраняется. Я обновил свой пост, чтобы показать index.js. Любая другая идея? – Shawn