有人可以解释一下 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
我是 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