如何使用 Node.js 提供静态内容?
当您想让服务器可以访问静态内容以供使用时,访问静态文件非常有用。为了提供静态文件,例如图像、CSS 文件和 JavaScript 文件等,我们使用 node.js 中内置的中间件,即 express.static。
设置静态中间件:
- 您需要创建一个文件夹并添加一个文件。例如,app.js,要运行此文件,您需要运行以下命令。
node app.js
- 现在创建一个文件夹,其内容要用作静态,例如,您可以创建一个名为 public 的文件夹。
- 现在向这个公用文件夹添加一些静态内容。在这种情况下,公用文件夹中有一个 GeeksLogo.png 图像。
- 要将此文件夹作为静态文件夹提供服务,您需要在 index.js 中编写此中间件,如下所示:
app.use(express.static(path.join(__dirname, 'public')))
其中 path 是全局对象, __dirname 保存当前目录地址。 Views 是保存我们所有网页的文件夹。 - 现在创建一个像 Demo.ejs 这样的 EJS 文件,并将这个文件放在 views 文件夹中。
文件名:Demo.ejs
Static Middleware Demo
文件名:app.js
const express = require('express')
const path = require('path')
const app = express()
// Static Middleware
app.use(express.static(path.join(__dirname, 'public')))
// View Engine Setup
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.get('/', function(req, res){
res.render('Demo')
})
app.listen(8080, function(error){
if(error) throw error
console.log("Server created Successfully")
})
运行程序的步骤:
- 项目结构将如下所示:
- 确保您拥有像我使用“ejs”一样的“查看引擎”,并使用以下命令安装 express:
npm install ejs
npm install express
- 使用以下命令运行 app.js 文件:
node app.js
- 打开浏览器并输入此 URL:
http://localhost:8080/
- 然后你会看到Demo.ejs页面如下图:
因此,这就是您可以向我们的服务器提供静态内容的方式,这对于在您的项目中提供图像、CSS、js 文件等非常有帮助。