Express

时间:2017-06-06 14:49:09

标签: express

在Express中,在服务器端提供静态的方式似乎非常简单:

  

提供静态文件,例如图像,CSS文件和JavaScript文件,   在Express中使用express.static内置中间件功能。

     

将包含静态资产的目录的名称传递给   express.static中间件函数开始提供文件   直。例如,使用以下代码来提供图像CSS   名为public的目录中的文件和JavaScript文件:

app.use(express.static('public'))

现在,您可以加载公共目录中的文件:

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
  

Express查找相对于静态目录的文件,所以   静态目录的名称不是URL的一部分。

要使用多个静态资源目录,请调用express.static 中间件功能多次:

app.use(express.static('public'))
app.use(express.static('files'))

Express按照使用express.static中间件功能设置静态目录的顺序查找文件。

我明白了虚拟路径前缀,但为什么要使用它呢?

  

创建虚拟路径前缀(实际上路径不存在)   存在于文件系统中)用于由文件服务的文件   express.static函数,指定静态的挂载路径   目录,如下所示:

app.use('/static', express.static('public'))

现在,您可以从/ static路径前缀加载公共目录中的文件。

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

1 个答案:

答案 0 :(得分:1)

我知道现在有点晚了,但是希望对您有所帮助。顺便说一句,我对这个答案一无所知,只是对您的担忧进行了更深入的探讨,发现了这一点。

  

当提供多个目录来服务静态文件时,此技术非常有用。前缀用于帮助区分多个目录。

如果您想更深入地研究。我在此链接上找到它: https://guide.freecodecamp.org/nodejs/express/