我正在通过AWS使用bitnami开发MEAN应用程序,但这是我第一次这样做。我不知道如何在公共文件夹(如css和js)中发送静态文件。
我觉得我已经尝试过配置apache代理并在路径中包括或不包括“ public”的所有组合,但是我必须从根本上缺少一些东西。我已经看过有关该主题的其他问答,但是我认为我在下面尝试的使用这些方法。因为我要将http://public-ip/test3转发到节点服务器,所以不知道它是否与代理有关。
bitnami-apps-prefix.conf文件:
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和不使用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页面,但我收到了css和js的404错误:http://public-ip/public/functions.js net :: ERR_ABORTED 404(未找到)
这是我的代码还是代理中的某些内容?任何帮助表示赞赏。
答案 0 :(得分:0)
因此解决方案是在HTML文件的url中放置test3而不是public。
line