У меня есть узел, и у меня есть npm install --save
d все, что мне нужно. Такие вещи, как jQuery, Bootstrap, SocketIO и т. Д. c. Моя структура каталогов:
Project
server.js
node_modules
<all my modules>
views
my_view.ejs
test.html
На сервере. js файл, я вызываю:
var app = express();
app.http().io();
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
res.render('my_view.ejs');
// res.render('index.ejs');
});
, чтобы показать свою страницу. В my_view.e js у меня есть:
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
, и это отлично работает.
Однако я также пытаюсь использовать другие элементы и none of это работает, это все ошибки в моем браузере.
<script type="text/javascript" src="/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="/bootstrap/dist/css/bootstrap.min.css">
Я пробовал это во всех возможных форматах, которые только мог придумать. Моя IDE даже укажет мне правильный путь, если я попытаюсь добраться до него вручную, но он никогда не работает.
Даже когда я go непосредственно к файлу (и это - это на самом деле правильный путь к файлу на диске) мой браузер говорит:
/node_modules/bootstrap/dist/css/bootstrap.min.css net::ERR_ABORTED 404 (Not Found)
В моем тесте. html файл, который находится в root, где у меня есть:
<script type="text/javascript" src="node_modules/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
Это работает, и моя страница отображается так, как должна. Но тогда я не могу импортировать socket.io, который исходит из node_modules, и получить все эти ошибки в обратном порядке.