Express.js не обслуживает там все статические файлы на heroku

там, у меня небольшая проблема с node.js и выражением на heroku. У меня есть сервер node.js, который загружает мою страницу index.html и другие ресурсы:

process.env.PWD = process.cwd();
var express = require("express");
var fs = require("fs-extra");
var app = express();
app.use(express.static(process.env.PWD+"/Anos"));
app.use(process.env.PWD +"/Applications", express.static(process.env.PWD + '/Anos/Applications'));

app.get(process.env.PWD+"/Anos",function(req,res) {
});
console.log("hello bitche");
var server = app.listen(process.env.PORT || 8080,function() {
    console.log("Project Alexander listening on port 8080!");
});
global.io = require("socket.io").listen(server);
var login = require("./local_modules/login.js");
var saveFiles = require("./local_modules/fileFolderSave.js");
global.io.sockets.on("connection",function(client) {
    login(client,global.io,fs,process.env.PWD);
    saveFiles(client,global.io,fs,process.env.PWD);
});

Это отлично работает на localhost, но когда я развертываю его на heroku из dropbox, он загружает только определенные вещи, такие как файлы css и js, все из которых находятся в подкаталогах. Не загружаются файлы icon.png из папок в папка с приложениями. Структура каталога:

Anos/
  index.html
  css/
     Taskbar/
     Desktop/
     Infopane/
  js/
     Taskbar/
     Desktop/
     Infopane/
  Applications/
     App1/
        icon.png
     App2/ etc..
        icon.png
  userData/
  users/
  images/

Приложение здесь ) (введите

и

, нажмите «Войти» и проверьте консоль на наличие ошибок 404. Позвольте мне знать, если вам нужно что-нибудь еще. Есть идеи? Что я могу изменить, чтобы избавиться от этих ошибок и правильно загрузить все? Заранее благодарим!

ОШИБКИ: image

0
задан 22 March 2017 в 14:01
1 ответ

Однажды у меня была эта проблема. Я решил эту проблему, переименовав мою общую папку в общедоступную и сделав ее общедоступной, вот так

var path = require('path')

process.env.PWD = process.cwd();
app.use(express.static(path.join(process.env.PWD, 'public')));

Надеюсь, это поможет

0
ответ дан 5 December 2019 в 08:26

Теги

Похожие вопросы