在node.js/express中显示带有EJS的图像

在node.js/express中显示带有EJS的图像,node.js,express,ejs,Node.js,Express,Ejs,我只是想用node.js/express/ejs进行设置。我知道ejs不是真正的HTML,所以我很难只显示一个简单的图像。有人能给我指出正确的方向吗 目录结构为: myApp/server.js myApp/views/index.ejs myApp/logo.jpg 现在我有 // index.ejs <img src = "../logo.jpg" /> //index.ejs 我走错方向了吗?谢谢。Express中的静态文件必须位于静态中间件中指定的目录中。这通常是/p

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

目录结构为:

  • myApp/server.js
  • myApp/views/index.ejs
  • myApp/logo.jpg
现在我有

// index.ejs
<img src = "../logo.jpg" />
//index.ejs

我走错方向了吗?谢谢。

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

例如,在
server.js
中,您可能有如下内容:

app.use( express.static( "public" ) );
此文件夹中的每个文件都可以从根URL访问,因此这将起作用:

<img src="logo.jpg" />

您必须分配
应用程序使用(express.static(“public”)然后不要忘记/as root:

<img src="/images/logo.jpg" />

我的
js
文件在这里
c:/blog/index.js
和图像文件
c:/blog/views/image.js
。并输入
js
file此代码

app.use(express.static(“视图”)

然后在CSS中添加属性

body{
背景图片:url(“./image.jpg”);
}

哦,好的,那就行了!但我不确定怎么做。是否只有一个目录可以是“静态”的?源代码会自动定向到那里?你可以在那之后添加各种静态中间件,它们将以相同的方式工作。如果在该目录中找不到该文件,它将转到下一个中间件…谢谢,这对我很有用。非常准确的解释。
- public/
  - images/
    - logo.png
- app.js