本文仅用于学习记录,不存在任何商业用途,如侵删
为了提供诸如图像、CSS 文件和 JavaScript 文件之类的静态文件,请使用 Express 中的 express.static 内置中间件函数。
此函数特征如下:
express.static(root, [options])
root 参数指定提供静态资产的根目录。有关 options 参数的更多信息,请参阅 express.static。【https://www.expressjs.com.cn/4x/api.html#express.static】
例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:
app.use(express.static('public'))
试试:【就在myapp3中进行操作】
新建一个public 文件夹

里面新增上各种静态资源文件

随便整点儿

重新启动服务,访问测试:
html:

图片:

css文件:

js文件:

【当然css和js 一般都和html 配合着用,不会直接查看源文件。】
Express 在静态目录查找文件,因此,存放静态文件的目录名不会出现在 URL 中。
像我们并没有在访问路径中书写public
如果要使用多个静态资源目录,请多次调用 express.static 中间件函数:
app.use(express.static('public'))
app.use(express.static('files'))
访问静态资源文件时,express.static 中间件函数会根据目录的添加顺序查找所需的文件。
注意:为获得最佳结果,请使用反向代理缓存来提高提供静态资源的性能。
要为 express.static 函数服务的文件创建虚拟路径前缀(该路径实际上并不存在于文件系统中),请指定静态目录的挂载路径,如下所示:
app.use('/static', express.static('public'))

现在,你就可以通过带有 /static 前缀地址来访问 public 目录中的文件了。
重新运行服务

没毛病
然而,您提供给 express.static 函数的路径相对于您启动节点进程的目录。如果您从另一个目录运行 express 应用程序,使用您要服务的目录的绝对路径会更安全:
const path = require('path')
app.use('/static', express.static(path.join(__dirname, 'public')))
欲了解更多关于 serve-static 函数及其参数的知识,请参考 serve-static。

中间件?