gpt4 book ai didi

javascript - ExpressJS 应用程序使用

转载 作者:行者123 更新时间:2023-12-03 02:10:31 25 4
gpt4 key购买 nike

我正在尝试学习 ExpressJS,并且遇到了这段代码。我似乎无法理解 app.use 函数,并且文档对我来说也不清楚。当调用 app.use 时,此特定示例代码中的/public 目录到底发生了什么?

// Require dependencies
var express = require('express');
var app = express();

// Set server port
app.set('port', (process.env.PORT || 3000));

// Set static page directory, /public
app.use(express.static(__dirname + '/public'));
app.use('/public', express.static('public'));

// Set template file directory, /views. Set view engine to EJS
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

// Route root request to pages/index
app.get('/', function(request, response) {
response.render('pages/index');
});

// Route favicon request to public/favicons
app.get('/favicon.ico', function(request, response) {
response.render('./public/favicons');
});

// Begin listening at specified port
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});

最佳答案

很简单 - 您将公共(public)目录设置为可通过 HTTP 访问。

因此,类似 http://localhost:3000/public/abc.jpg 将为您提供公共(public)文件夹中的 abc.jpg

app.use('/public', express.static('public'))

line 只是意味着 - 匹配以 /public 开头的任何路径,例如:

http://localhost/public/*.jpg

或任何其他扩展 - 将从您的 public(express.static('public') 中的参数)文件夹中选择该文件并提供该文件。

线路

app.use(express.static(__dirname + '/public'))

表示 - 匹配任何路径,如果在 public 目录中找到文件,则通过 HTTP 提供该文件。

您可以只使用这两行 - 区别在于 URL 中的 /public 部分。

文档对此非常清楚:https://expressjs.com/en/starter/static-files.html

关于javascript - ExpressJS 应用程序使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com