Mik*_*ika 14 javascript node.js express
有什么区别,我应该使用哪个?我的目标是简单地提供静态html页面和文件.
router.use('/', express.static(path.resolve(public + '/index.html')))
Run Code Online (Sandbox Code Playgroud)
要么
router.get('/', function(req, res) {
res.sendFile(path.resolve(public + '/index.html'))
})
Run Code Online (Sandbox Code Playgroud)
如果您想提供public
目录中的任何文件,则应使用express.static
中间件来提供安装到应用程序根目录的整个目录。
(此外,您可能希望考虑将静态服务中间件作为项目的依赖项,例如serve-static
,以便它可以独立于 Express 进行更新。)
var serveStatic = require('serve-static'); // same as express.static
/* ... app initialization stuff goes here ... */
router.use(serveStatic(public)); // assuming you've defined `public` to some path above
Run Code Online (Sandbox Code Playgroud)
这将通过发送文件、读取index.html
文件来响应对目录根的请求来响应对文件的请求。
但是,如果您的路线中有某种复杂的逻辑(或者您可能在将来的某个时候),那么您应该使用sendFile
. 例如,对于每分钟发送不同图标的服务器:
router.get('/favicon.ico', function(req, res) {
return res.sendFile(path.resolve(public, '/icons/' + new Date().getMinutes() + '.ico'));
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10575 次 |
最近记录: |