如何在express js中包含静态文件

How to include static files in express js

我正在使用带有节点 js 的 express js 框架,在我的 server.js 文件中,我使用了

app.use('/api',router);

在我的 ejs 文件中,当我使用脚本标签时

<script src = main.js>

我收到一个错误 "Cannot get http://localhost:3000/api/main.js" 我如何将这些文件包含在 ejs

请帮忙!!!

您通过 Express 中包含的中间件提供静态文件 - express.static('folder/with/resources')。为此,您可以使用 app.use 将其添加到中间件链中。

假设您想通过 public URL /static 提供位于本地文件夹 /dist 中的静态文件。

import express from 'express';
const app = express();

app.use('static', express.static('dist'));

了解更多信息 here

你可以使用express.static中间件

app.use('/public', express.static('directory/containing/your/files'));

express.static 的参数是包含您希望静态化的所有文件的目录的路径(您提供的路径可以是相对于您启动节点进程的目录,或者一个绝对路径),该目录应该在您的文件系统中可用。
然后你可以要求你的资源,如:<img src='/public/imagesA.jpg'>
'/public' 挂载路径是可选的,但推荐

在app.js中你必须添加静态文件夹目录访问

app.use(express.static(path.join(__dirname, 'public')));

在 public 文件夹中添加您的文件夹文件

--public
----javascript
----css
----img

在 javascript 中添加您的 main.js

并在 ejs 中添加

<script src = "javascript/main.js"></script>