在那里,我在 heroku 上使用 node.js 和 express 时遇到了一点问题。我有一个 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);
});
这在本地主机上运行良好,但当我从 dropbox 将其部署到 heroku 时,它只会加载某些内容,例如 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 错误。如果您还有其他需要,请告诉我。有什么想法吗?我可以更改什么来消除这些错误并正确加载所有内容?提前致谢!
错误: 图像
答案1
我曾经遇到过这个问题。我解决这个问题的方法是将我的公共文件夹重命名为 public,并将其设置为 public,如下所示
var path = require('path')
process.env.PWD = process.cwd();
app.use(express.static(path.join(process.env.PWD, 'public')));
我希望这有帮助