Node.js - Express - Статический js-файл не загружается в html - PullRequest
0 голосов
/ 30 мая 2018

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

Я пытаюсь создать простую статическуювеб-сайт с node.js и Express, чтобы воспользоваться дополнительными функциями на стороне сервера, такими как fs, интеграция с базой данных и т. д., но с использованием старого стиля css, html и js.

Я знаю, что node.js нравится использовать шаблоны(jade, ejs), но это не мой случай, мне нужен простой файл index.html с тегом script внизу для моей логики javascript, которая хранится в статической папке / public (для разделения проблем).На данный момент init.js содержит только console.log для тестирования.

 <script type="text/javascript" scr="/public/init.js" charset="utf-8"></script>

Я следовал инструкциям по использованию Express статических файлов и пробовал все возможные комбинации следующего метода (который для ясности приведен вфайл с именем server.js, который является главным файлом node.js для моего проекта):

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

Это решило проблему загрузки файлов CSS, так как теперь моя страница загружает CSS правильно, с этим:

<link rel="stylesheet" href="/public/style.css">

Я также пробовал много комбинаций тега script, например:

<script type="text/javascript" scr="/init.js" charset="utf-8"></script>
<script type="text/javascript" scr="/public/init.js" charset="utf-8"></script>
<script type="text/javascript" scr="./public/init.js" charset="utf-8"></script>
<script type="text/javascript" scr="../public/init.js" charset="utf-8"></script>
<script type="text/javascript" scr="init.js" charset="utf-8"></script>

Мой вопрос: почему мой /public/init.js не загружается?Я могу четко указать на это, набрав адрес, который покажет мне содержимое файла в виде текста:

http://localhost:9000/public/init.js 

Я проверил вкладку сети в инструментах разработчика браузера, и init.js полностьюигнорируются.Есть ли какая-либо политика безопасности, которая останавливает его для загрузки?Спасибо.

1 Ответ

0 голосов
/ 30 мая 2018

Полагаю, вы ошиблись scr это будет src:

<script type="text/javascript" src="/public/init.js" charset="utf-8"></script>
...