这是我的项目文件夹
/
public/
index.html
main.js
adaptor.js
main.css
node_modules/
socket.io/
index.js
这是我的index.js中的静态文件配置
app.use(express.static(path.join(__dirname, '/public')));
app.use(express.static(path.join(__dirname, '/node_modules')));
app.get('/', (req, res)=>{
res.sendFile(path.join(__dirname, 'public', '/index.html'));
})
这是我的index.html文件。
<script src="/socket.io/socket.io.js" charset="utf-8"></script>
<script src="/adapter.js" charset="utf-8"></script>
<script src="/main.js" charset="utf-8"></script>
这是我的 Nginx 配置
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html =404;
proxy_pass http://localhost:8080;
}
但我在所有脚本上都遇到了404错误。还有一个奇怪的事情是,这些文件的mime类型被设置为text/HTML
。
我在这里做错了什么?
我有一个项目,与相同的项目结构,它具有相同的配置,但它对于它可以工作,而在这种情况下却不起作用。
__dirname
是/home/ubuntu
,而 nginx 的root
路径也设置为/home/ubuntu
。 - relentless-coderroot
的评论,因为我记得你正在使用代理传递 -- Nginx不应该尝试提供任何文件。您可以从配置中删除try_files
和root
。 - ContinuousLoad