@thelimee

Как подключить файл js к серверу Node.js?

Добрый день,

Откопал недавно курс, по которому начал изучать NodeJS, и FrontEnd в целом. Курс слитый, поэтому на вопросы не отвечает никто. Дак вот, в первом занятии был написан простенький сервер:
const http = require('http');
const fs = require('fs');

const server = http.createServer(function (request, responce) {
  if (request.url == '/public/style.css'){
    const css = fs.readFileSync('public/style.css', 'utf8');
    responce.end(css)
  }else {
    const html = fs.readFileSync('public/index.html', 'utf8')
    responce.end(html);       //Обработка запроса
  }

})

server.listen(process.env.PORT || 3000);
console.log('Server started!');

После этого, во втором задание перешли уже на написание скриптов, но как подключить js скрипт к серверу, никто не объяснил. В html документе все работает, как только перехожу на localhost, скрипты отваливаются.

Заранее спасибо!
  • Вопрос задан
  • 1674 просмотра
Пригласить эксперта
Ответы на вопрос 1
rockon404
@rockon404
Frontend Developer
Устанавливаем express:
npm i -S express

const express = require('express');

const app = express();

const port = process.env.PORT || 3000;

app.use('public', express.static('public'));

app.get('*', (req, res) => {
  res.sendFile('public/index.html');
});

app.listen(port, () => {
  console.log('Server listen at %s port', port);
});


В строчке: app.use('public', express.static('public')); подключается промежуточное ПО express.static, которое будет перехватывать все запросы за статическими файлами по пути: hostname:port/public/*, например http://localhost:3000/public/style.css, забирать их из папки /public и возвращать клиенту.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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