javascript - 谁能解释一下为什么我们使用公共(public)文件夹来保存 css 和图像文件夹?

标签 javascript node.js

谁能向我解释一下为什么我们使用公共(public)文件夹来保存 CSS 和图像文件夹?我是 Node js 的新手,并试图深入了解它。

最佳答案

顾名思义“public”,它是提供静态文件(不会改变),如 CSS、JavaScript、图像等。

我们将这些文件保存在公共(public)文件夹中,并通过适当的方式公开整个文件夹。

现在,任何请求此公共(public)文件夹中存在的这些文件(浏览器)的人都可以访问这些文件。请注意,您可以使用任何名称并将其公开,“public”只是一个专有的通用名称。

此外,默认情况下您的文件夹将不可访问。您需要启用它。

来自明确的文档,

For example, use the following code to serve images, CSS files, and JavaScript files 
in a directory named public:

app.use(express.static('public'))
Now, you can load the files that are in the public directory:

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html

https://expressjs.com/en/starter/static-files.html如果您使用 Express,请查看此内容以获取更多信息。

假设您没有将文件保存在未公开或公开的文件夹中,将会发生的情况是浏览器或任何尝试检索图像或 CSS 的客户端将无法访问。在这种情况下,您需要为这些文件和所有公共(public)文件独立启用单独的路由,这既耗时又复杂。

让我给你举个例子,假设你的网页的 html 标签中有一张猫的图像。浏览器的作用是它会发出一个 get 请求从服务器获取该图像,如果该图像不在公共(public)文件夹中或者没有设置处理该文件的路由,浏览器将无法在服务器中显示该图像。网页。

注意:这就是为什么私有(private)图片不保存在公共(public)目录中的原因,您最好有一个动态路由来处理这些图片。只有经过身份验证的用户才能访问。如果您将私有(private)图片放在公共(public)文件夹中,任何人都可以访问它。

关于javascript - 谁能解释一下为什么我们使用公共(public)文件夹来保存 css 和图像文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63627376/

相关文章:

html - Node/快速 anchor 链接路由

javascript - 根据特定列对 csv 进行排序

node.js - Twilio Nodejs 客户端指定 PageSize 查询参数

javascript - 如何中断表单提交以调用一些 javascript?

javascript - expressjs中的路由错误

node.js - Bolt连接,Docker Compose + Neo4j + Node

node.js - 如何在 Jest 中监视导出和模拟的函数

node.js - 在不同项目之间共享node_modules

javascript - 如何将 JavaScript 计时器放入盒子中?

javascript - 如何在特定的 div 中显示时间(由 JavaScript 生成)?