Я запускаю сервер node.js. В узле я требую и запускаю модуль с помощьюОшибка Node.js, включая js файл - файл не найден
var h = require('h.js');
h.hello();
Это печатает Hello World на консоли. Тем не менее, я хочу иметь возможность запускать код из h.js со страницы (entrypage.html) в моем браузере. Я пытаюсь импортировать его на
<script type="text/javascript" src="/node_modules/h.js"></script>
Однако это дает ошибку 404 при запуске на локальном хосте.
GET http://localhost:8080/node_modules/h.js
Как мне получить доступ к этому javascript-файлу на HTML-странице?
В моей файловой структуре есть корень с html /, js /, node_modules/и server.js. HTML-страница находится внутри html /, файл js в node_modules/
EDIT: Я использую стек MEAN для этого - MongoDB, Express.js, Angular.js и Node.js.
Я согласен с @rgvassar, вы можете/не должен быть node_modules сервера с nodejs. Вероятно, вы захотите создать псевдоним для своих узлов в настройках вашего http-сервера. Например, с помощью nginx создайте перенаправление '/' маршрута на ваш 'localhost: 3333' (где' 3333' - ваше приложение nodejs) и '/ public /', обслуживающий все файлы, найденные в каталоге/node_modules, например –
Предполагая, что ваш сервер может обслуживать JS-файлы, ссылка на ваш файл из браузера должна быть 'src =" node_modules/h.js "' (без косой черты). Я только что проверил это с помощью кода sig_pad, с которым вы связались. [Вот код сервера (не экспресс), который я использовал] (https://jsfiddle.net/ufhqh520/). – Andy
Энди, связывание файлов, как вы сказали, не работает для меня. Также в вашем jsfiddle отсутствует файл html и файл signature_pad.js. Это намеренно? – WarSame