1

Тема: Підключення node js

В проекті після деяких дій (інсталяції node js, npm install, npm start) перестали компілюватись файли js. Тобто в консолі браузера нічого не відображається. Як зробити щоб в консолі щось відображалось як і раніше? Помилок ніби немає, але в консолі нічого не виводиться.

2

Re: Підключення node js

замало інформації для вирішення питання, розкажіть більше

3

Re: Підключення node js

Є папка з файлами js, html.(навчальна). Наприклад lesson8 completed. В якій виконуються ДЗ. В цій папці в терміналі я виконав наступні дії: npm install, npm start. І виконавши завдання в файлі JS я запускав на виконання те що виконав, тобто щоб побачити результат в консолі браузера (chroome). Заходжу в консоль, а там нічого немає.
Думаю що це сталось після підключення node js. Як його відключити чи зупинити, щоб можна було побачити в консолі результат коду?

4

Re: Підключення node js

всередині package.json є розділ "scripts", всередині нього є "start", це те, що виконується, коли ви робите npm start. Покажіть, що у вас стоїть напроти того "start" в package.json.

5

Re: Підключення node js

{
  "name": "lesson_8",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "dependencies": {
    "express": "^4.17.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://gitlab.com/itea-js-advanced-06-2019/lesson_8.git"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://gitlab.com/itea-js-advanced-06-2019/lesson_8/issues"
  },
  "homepage": "https://gitlab.com/itea-js-advanced-06-2019/lesson_8#readme"
}

6

Re: Підключення node js

а в server.js шо ?

7

Re: Підключення node js

var express = require('express');
var app = express();
const PORT = 3122;

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

app.get('/', function (req, res) {
  res.send('/public/index.html');
});

app.listen(3122, function () {
  console.log(`Example app listening on port ${PORT}!`);
});

8

Re: Підключення node js

і яку сторінку ви відкриваєте в бровзері?

9

Re: Підключення node js

Локальну адресу

10

Re: Підключення node js

як саме ви записуєте ту адресу в бровзері?

11

Re: Підключення node js

sasha87 написав:
var express = require('express');
var app = express();
const PORT = 3122;

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

app.get('/', function (req, res) {
  res.send('/public/index.html');
});

app.listen(3122, function () {
  console.log(`Example app listening on port ${PORT}!`);
});

до речі, щось мені підказує, шо там має бути

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

а потім і той app.get не треба.

12

Re: Підключення node js

Я працюю в vs code
Вибираю пункт меню — запустити компіляцію — щось таке  і мене live server перекидає в браузер

13

Re: Підключення node js

І яка сторінка в бровзері відкривається?

14

Re: Підключення node js

Пуста сторінка відкривається
Мабуть треба localhost3322 запускати?

15

Re: Підключення node js

localhost:3122

16

Re: Підключення node js

live server перекидає в браузер

Вам тут не тре live-server, бо він сам по собі хостить статичний контент, а у вас цим вже займається web-сервер express. Тому вам треба просто запустити npm start, а потім вручну відкрити сторінку localhost:3122

Подякували: leofun011

17

Re: Підключення node js

помилка:

Error: listen EADDRINUSE: address already in use :::3122
    at Server.setupListenHandle [as _listen2] (node:net:1334:16)
    at listenInCluster (node:net:1382:12)
    at Server.listen (node:net:1469:7)
    at Function.listen (/Users/sashamaksyutenko/Desktop/SashaMaksyutenko_jsAdvanced/Безіменний/lesson_8/node_modules/express/lib/application.js:618:24)
    at Object.<anonymous> (/Users/sashamaksyutenko/Desktop/SashaMaksyutenko_jsAdvanced/Безіменний/lesson_8/server.js:11:5)
    at Module._compile (node:internal/modules/cjs/loader:1095:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1361:8)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 3122

18

Re: Підключення node js

це воно каже, що вже якийсь сервер слухає порт 3122. Це таке може бути іноді, це якийсь баг VS Code.
У вас яка система, Лінух, чи Шиндовс?

19

Re: Підключення node js

macos
а як взагалі його скинути? щоб все робити через live server?

20

Re: Підключення node js

спробуйте в терміналі виконати

sudo killall node

або

sudo kill -9 `ps aux | grep node | grep -v grep | awk '{print $2}'`

якщо попереднє не спрацює.

але для live-server'у вам не треба цього робити, бо воно використовує інший порт.
в терміналі виконайте

live-server

і воно почне хостити те, що знаходиться в тій директорії, в котрій ви нинькі є. Якшо в ній є index.html, то він буде відразу доступний в бровзері, якщо ж там у вас спочатку директорія public, а в ній index.html, то в бровзері тре буде дописати /public/