Как сделать Node.js ссылку на CSS для моего HTML - PullRequest
2 голосов
/ 07 апреля 2020

Я пытаюсь создать пошаговую стратегическую игру типа EU4 в JS. Я хотел бы включить многопользовательскую функциональность, но я хочу понять, почему это происходит: когда я запускаю свое приложение через узел, кажется, что оно показывает только голый HTML, а не CSS. Пожалуйста, помогите.

Код ниже:

var express = require('express')
var app = express()
var serv = require('http').Server(app)
var port = 2000

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/client/index.html')
})

app.use('/client', express.static(__dirname + '/client'))

serv.listen(port)
console.log('Colonial Warfare server => initialized!')
console.log('CWserver HostPort: ' + port)


var io = require('socket.io') (serv,{})
io.sockets.on('connection', function(socket) {
    console.log('socket connection')
})

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Когда ваш браузер отправляет http-запрос "/", вы возвращаете html, который ссылается на "/css/gameStyle.css".

. Вы можете переместить папку css в папку клиента и измените ссылку на "/client/css/gameStyle.css".

. Или вы можете обслуживать вашу папку css в приложении узла app.use(express.static('css'))

0 голосов
/ 07 апреля 2020

Вам нужно обслуживать stati c CSS файлы, заменив get для вашего индекса. html следующей строкой:

app.use (express .stati c ('publi c'))

Замените 'publi c' на 'client', если CSS находится рядом с вашим индексом. HTML.

Подробности здесь: https://expressjs.com/en/starter/static-files.html

- РЕДАКТИРОВАТЬ -

В качестве индекса. html включает css как "/css/filename.css" вас разместить его так: app.use (express .stati c ('css')) или изменить ссылки на таблицы стилей на /client/css/filename.css в вашем html файл. Всякий раз, когда вы обращаетесь к (для express) неизвестному пути, express возвращает индексный файл. html file.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...