谁能向我解释一下为什么我们使用公共(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/