Поведение узла в локальной и прод - PullRequest
0 голосов
/ 26 мая 2018

У меня есть базовый сервер nodejs, обслуживающий статические файлы.Он хорошо работает в локальных тестах.

Однако я разместил его на облачном экземпляре Google.Настройте сервер nginx.Доступ к странице работает нормально.

Проблема в том, что некоторые включенные файлы js на html-странице не обнаруживаются при доступе к странице с сервера, размещенного на Google.Я проверил код / ​​файл, он совпадает с кодом, используемым в локальных тестах.

let express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/',function(req,res){

    res.sendFile(__dirname + '/main.html');

});

app.listen(8080);

console.log("listenning on 8080");

HTML-страница:

<head>
    <script type="text/javascript" src="/web3-min.js"></script>
    <script type="text/javascript" src="/etherjs.js"></script>

Ошибка: http://prntscr.com/jmue8t

Файловая архитектура в экземпляре: http://prntscr.com/jmuebs

Почему он это делает и как это решить?

Редактировать: Файл конфигурации NGINX (имя_сервера - мой внешний IP-адрес экземпляра):

http://prntscr.com/jmy8wy

1 Ответ

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

Ваши файлы будут доступны по адресу http://you-ip-address/public/web3-min.js

На вашем изображении ошибки вы получаете к ним доступ как http://you-ip-address/web3-min.js.

Итак, в вашей HTML-странице измените src="/public/web3-min.js"

Редактировать:

Если вы хотите, чтобы Nginx обрабатывал обработку статических файлов, вы можете настроитьВаш Nginx, как показано ниже.

server {
  listen 8081;
  server_name example.com;
  location / {
    root /path/to/website/public;
    index index.html;
    try_files $uri $uri/ @express; # instead of 404, proxy back to express using a named location block;
    # source: https://stackoverflow.com/a/15467555/8436941
  }
  location @express {
    proxy_pass http://localhost:8080;
  }
}

Ссылка: Express + Nginx.Не может обслуживать статические файлы

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