有人可以解释一下 express js 中的静态文件是如何工作的吗?

Can someone please explain how static files in express js work?

我是 nodejs 的新手,而且是 express 模块的新手。我有一个这样的应用设置;

chart.js是我的nodejs文件。我试图通过使用 app.use(express.static(-I didn't understand what i need to write here-)) 使我的 js 文件和 css 文件静态化,以便正确呈现我的 index.html 但我不知道如何使用并且我不理解文档.在文档中,他们说编码器能够像 app.use(express.static('public')) 一样使用静态,但他们没有提到什么是 public,它在项目中的位置,它包含什么。有人可以帮助我了解这种情况吗?这个 express.static 是如何工作的,我怎样才能使我的文件静态化?

注意:请勿将私人文件放入静态文件夹。

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

这里你看到 express.static() 函数里面是你的静态文件夹的路径,它将直接从浏览器访问,你不需要写他们的路线,因为该文件夹将提供所有访问public。像 css,js 文件。以及您将能够作为其目录访问的那些文件。

在上图中,html、css 和 js 文件位于应用程序根文件夹的 public 文件夹中。您需要访问那些与 nodejs 无关的 public 静态文件,因此它应该在您的服务器节点 js 代码中定义为静态文件:app.use(express.static(__dirname + '/public'));。它将获得所有路线,如:

http://localhost:3000/css/style.css
http://localhost:3000/javascript/script.js
http://localhost:3000/favicon.ico
http://localhost:3000/index.html
http://localhost:3000/robots.txt

您还可以为这些静态路由设置前缀。为此,您需要将前缀作为:app.use('static_folder', express.static(__dirname + '/public')); 然后它看起来像:

http://localhost:3000/static_folder/css/style.css
http://localhost:3000/static_folder/javascript/script.js
http://localhost:3000/static_folder/favicon.ico
http://localhost:3000/static_folder/index.html
http://localhost:3000/static_folder/robots.txt