在node.js/express中使用EJS显示图像

gon*_*one 14 ejs node.js express

我只想尝试使用node.js/express/ejs进行设置.我知道ejs不是真正的HTML,所以我很难显示一个简单的图像.有人能指出我正确的方向吗?

目录结构是:

  • 对myApp/server.js
  • 对myApp /视图/ index.ejs
  • 对myApp/logo.jpg

现在我有

// index.ejs
<img src = "../logo.jpg" />
Run Code Online (Sandbox Code Playgroud)

我是以错误的方式来做这件事的吗?谢谢.

gus*_*nke 23

Express中的静态文件必须位于static中间件中指定的目录中.这通常是./public/.

例如,server.js你可能会有这样的事情:

app.use( express.static( "public" ) );
Run Code Online (Sandbox Code Playgroud)

可以从根URL访问此文件夹中的每个文件,因此这将起作用:

<img src="logo.jpg" />
Run Code Online (Sandbox Code Playgroud)


小智 5

您必须app.use( express.static( "public" ) );在app.js上进行分配,然后不要忘记/作为根用户:

<img src="/images/logo.jpg" />
Run Code Online (Sandbox Code Playgroud)

images文件夹应位于公用文件夹中:

- public/
  - images/
    - logo.png
- app.js
Run Code Online (Sandbox Code Playgroud)