Я не могу загрузить свой Static JS на сервер Express - PullRequest
0 голосов
/ 05 ноября 2018

Я довольно недоволен этим, похоже, это хорошо решенная проблема, и мой код кажется корректным, но я не вижу проблемы. , .

У меня есть файл .js для подключения к моей странице опроса, и он добавлен как таковой внизу тега <body>:

<script type="text/javascript" src="/static/questions.js"></script>

В server.js я пробовал это:

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

действительно охватывает базы там. , , «public» - это место, где лежат html-страницы, а данные - мои файлы json и .js.

Дерево:

root
-app
--data
--public
server.js

но я продолжаю получать ошибку при загрузке js error.

Chrome Firefox

Что дает, мужик?

Ответы [ 3 ]

0 голосов
/ 05 ноября 2018

Это потому, что вы не отправляли файл js пользователю при получении запроса на сервере

Например: нам нужен js-файл с именем public.js

Путь к файлу: ui / publish.js

запрос: http //: localhost: 4000 / ui / publish.js

app.get('/ui/publish.js', function (req, res) {
  res.sendFile(path.join(__dirname, 'ui', 'publish.js'));
});

Попробуйте это.

0 голосов
/ 05 ноября 2018
<script type="text/javascript" src="/questions.js"></script>

Вы должны изменить свой скрипт-тег следующим образом и добавить следующую строку в server.js

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

поместите ваши js-файлы в папку /app/public

0 голосов
/ 05 ноября 2018

Попробуйте это.

Structure 
root
-app
--data
  -- a.js
  -- b.js
--public
   -- a.html
server.js


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

Теперь ваш URL для доступа к a.js: http://localhost:8080/a.js и html http://localhost:8080/a.html

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