Как использовать html в express.js, который ссылается на файл js с сервера и запускает его на стороне клиента? - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь написать простейший сервер, который обслуживает html-страницу с помощью клиентских сценариев.

Уже пробовал на основе http://expressjs.com/en/starter/static-files.html, Использование express.js для обслуживания html-файла вместе ссценарии, CSS и изображения и Как загрузить файл JS в html, используя экспресс-сервер , но все равно я не понимаю.

Структура файла, который я использую:

node_modules
resources
resources/page.html
resources/script.js
index.js
package.json

index.js:

const express = require('express');
const app = express();
const port = 3000;
const path = require('path');

app.use(express.static(__dirname + '/resources'));

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname , 'resources', 'page.html'));
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

page.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
  </head>
  <body>
    Content
  </body>
  <script scr="script.js"></script>
</html>

script.js:

var i = 0;

setInterval(() => {
  if (i < 10) {
    console.log(i);
    i++;
  }
}, 100);

Я набираюадрес браузера Google Chrome localhost:3000/ и страница успешно загружена (отображается строка «Содержимое»), но сценарий script.js не запущен (пустая консоль).Я ожидаю, что браузер получит файл script.js и выведет номера на консоль при загрузке page.html.

1 Ответ

0 голосов
/ 29 апреля 2019

В файле page.html измените свойство scr на src в теге сценария, и оно будет работать.

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