pra*_*gan 17 html javascript node.js angularjs

这是我的server.js档案:
var express = require('express'),
app = express();
app
.use(express.static('./public'))
.get('*',function (req,res) {
res.sendfile('/public/main.html');
})
.listen(3000);
Run Code Online (Sandbox Code Playgroud)
这是我的main.html:
<!DOCTYPE html>
<html>
<head>
<titel>Contacts</titel>
<base href'/'>
</head>
<body>
<div class="container">
<div class="page-header">
<h1>Contatcs</h1>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和文件夹结构:

由于服务器和索引文件都位于"公共"目录中,因此您只需使用:
res.sendfile('./main.html');
Run Code Online (Sandbox Code Playgroud)
要回答评论中的问题:在Express 4.x中,sendfile方法被替换为sendFile方法(全部小写 - > camelCase).可能只是早期版本的疏忽,后者已得到修复.
小智 7
__dirname 已被弃用,建议的解决方案目前可能不起作用(2021 年 8 月)。在 Express 4.x 中,这已得到简化,您不需要使用“path”模块,您只需指定一个根选项,如下所示:
app.get('*', (req, res) => {
res.sendFile('main.html', {root: 'public'});
});
Run Code Online (Sandbox Code Playgroud)
小智 5
对我来说使用“.” 在路径中不起作用,相反,我将其调整为:
res.sendFile(__dirname + '/public/main.html');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49048 次 |
| 最近记录: |