Как отправить статические файлы (CSS, js) с помощью nodejs express на сервер AWS Bitnami? - PullRequest
0 голосов
/ 22 января 2019

Я занимаюсь разработкой MEAN-приложения с использованием bitnami через AWS, но я делаю это впервые.Я не могу понять, как отправлять статические файлы в общедоступную папку, такую ​​как css и js.

Мне кажется, что я пробовал каждую комбинацию настройки прокси-сервера apache, включая или не включая "public"на пути, но я должен что-то упустить в корне.Я рассмотрел другие вопросы и ответы по этой теме, но я думаю, что то, что я попробовал ниже, использует эти методы.Не знаю, связано ли это с прокси, так как я пересылаю http://public -ip / test3 на сервер узлов.

bitnami-apps-prefix.conffile:

ProxyPass /test3 http://127.0.0.1:3100/
ProxyPassReverse /test3 http://127.0.0.1:3100/

Файл nodejs app.js - пробовал его с достаточно широкой публикой в ​​разных местах

var express = require("express");
const path = require('path');
var app = express();

app.use(express.static(path.join(__dirname, '/public')));
app.get("/", function(req,res){
    res.sendFile(__dirname+"/public/p4.1.html");
});
app.listen(3100,'localhost',function(){
console.log("server has started");
});

файл p4.1.html - я пробовал его си без public в пути.

<html><head>
<link rel="stylesheet" href="public/styles.css">
<script src="public/functions.js"></script>
</head>

Файлы p4.1.html, styles.css и functions.js хранятся в общей папке.Общая папка находится по тому же пути, что и файл app.js.

HTML-страница действительно отображается, но я получаю 404 ошибки для css и js: http://public -ip / public / functions.js net :: ERR_ABORTED 404 (не найдено)

Возможно, это что-то в моем коде или в прокси?Любая помощь приветствуется.

1 Ответ

0 голосов
/ 23 января 2019

Таким образом, решение было поместить test3 вместо public в URL в файле html.

<html><head>
<link rel="stylesheet" href="test3/styles.css">
<script src="test3/functions.js"></script>
</head>
...