静态文件"/>
Express应用程序不在生产服务器上提供静态文件
我正在使用Express构建一个简单的(至少从后端角度而言)单页应用程序。这个应用程式在本机运作良好,但是在部署之后,我的静态档案无法运作。我环顾四周,我相信自己正确使用了express.static()。还要注意的另一件事是,我已将其部署在GoDaddy上。不知道这是否会引起任何问题,但可能是相关信息。
这里是指向我的托管站点的链接,请随时检查自己:/
我在app.js文件中的相关代码如下(我排除了一些无关的部分:]
const express = require('express');
const app = express();
const path = require('path');
const router = express.Router();
app.use('/static', express.static(__dirname+'/static'));
router.get('/',function(req,res){
res.render(path.join(__dirname+'/static/index.ejs'), {routeStr: ''});
});
app.use('/', router);
app.listen(process.env.port || 3000);
这是我在index.ejs文件中加载静态文件的方式:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Senseless World</title>
<link rel="stylesheet" href="static/styles/main.css?version=8" type="text/css">
<link rel="stylesheet" href="/static/styles/mobile-styles.css?version=3" type="text/css">
<script src="/static/scripts/vendors/jquery-3.5.0.min.js"></script>
<script src="/static/scripts/vendors/p5.min.js"></script>
<script src="/static/scripts/vendors/p5.sound.js"></script>
<script src="/static/scripts/bundle.js" type="module"></script>
<script src="/static/scripts/modal-page-open.js?version=5"></script>
<script src="/static/scripts/flashlight.js?version=3"></script>
<link rel="icon" href="/static/senseless-favicon-16.png" type="image/png" sizes="16x16">
<link rel="icon" href="/static/senseless-favicon-32.png" type="image/png" sizes="32x32">
</head>
...
我在控制台中看到的错误如下:
这是从网络控制台中看到的内容:
回答如下:您可以遵循此代码
const express = require('express');
const app = express();
const path = require('path');
const router = express.Router();
// At first create public folder and move all ejs file in public folder
app.use('/static', express.static(__dirname+'/static'));
router.get('/',function(req,res){
res.render(path.join(index.ejs);
});
app.use('/', router);
app.listen(process.env.port || 3000);
更多推荐
Express应用程序不在生产服务器上提供静态文件
发布评论