Express.js express.static()函数
express.static()函数是 Express 中内置的中间件函数。它提供静态文件并基于serve-static。
句法:
express.static(root, [options])
参数: root 参数描述了提供静态资产的根目录。
返回值:它返回一个对象。
express模块的安装:
- 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
npm install express
- 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
npm version express
- 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
node index.js
示例 1:文件名:index.js
var express = require('express');
var app = express();
var path = require('path');
var PORT = 3000;
// Static Middleware
app.use(express.static(path.join(__dirname, 'public')))
app.get('/', function (req, res, next) {
res.render('home.ejs');
})
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
现在,使用以下代码在 views 文件夹中创建home.ejs文件:
文件名:home.ejs
express.static() Demo
Greetings from GeeksforGeeks
运行程序的步骤:
- 项目结构将如下所示:
注意: Demo.jpg放置在公用文件夹中,因为公用文件夹现在作为静态服务提供给服务器。 - 确保您已使用以下命令安装express和ejs模块:
npm install express npm install ejs
- 使用以下命令运行 index.js 文件:
node index.js
输出:
Server listening on PORT 3000
- 现在打开浏览器并转到http://localhost:3000/ ,您将在屏幕上看到以下输出:
示例 2:
文件名:index.js
var express = require('express');
var app = express();
var path = require('path');
// Static Middleware
console.log(app.use(express.static(
path.join(__dirname, 'public'))))
使用以下命令运行 index.js 文件:
node index.js
输出:
[Function: app] EventEmitter {
_events: [Object: null prototype] { mount: [Function: onmount] },
_eventsCount: 1,
_maxListeners: undefined,
setMaxListeners: [Function: setMaxListeners],
getMaxListeners: [Function: getMaxListeners],
emit: [Function: emit],
.
.
.
.
locals: [Object: null prototype] {
settings: {
'x-powered-by': true,
etag: 'weak',
'etag fn': [Function: generateETag],
env: 'development',
'query parser': 'extended',
'query parser fn': [Function: parseExtendedQueryString],
'subdomain offset': 2,
'trust proxy': false,
'trust proxy fn': [Function: trustNone],
view: [Function: View],
views: 'C:\\Users\\Lenovo\\Downloads\\GFG
Reviewer Internship\\Program\\views',
'jsonp callback name': 'callback'
}
},
mountpath: '/',
_router: [Function: router] {
params: {},
_params: [],
caseSensitive: false,
mergeParams: undefined,
strict: false,
stack: [ [Layer], [Layer], [Layer] ]
}
}
参考:官方文档