表示两个静态文件目录

时间:2019-04-07 14:37:56

标签: node.js express static-files

我的文件夹结构如下:

public
  css
  html
    main
      pllanet.html
server
  server.js
src
  img
  js

public文件夹包含所有HTML和CSS代码,而src文件夹包含img和js文件。在server.js中,我使用Express指示静态文件目录如下:

app.use(express.static(path.join(__dirname, "../public")));
app.use(express.static(path.join(__dirname, "../src")));

当我打开pllanet.html时,由于图像未加载,因此应用程序似乎没有选择第二个目录。 在pllanet.html文件中,我具有如下所示的CSS路由:

    <link rel="stylesheet" href="../../css/main/pllanet.css">
    <link rel="stylesheet" href="../../css/main/home.css">

有人可以帮我吗?我真的被困住了。另外,我的文件夹结构是一种好习惯吗?

非常感谢您的帮助人员。

1 个答案:

答案 0 :(得分:0)

您可以实现virtual path

  

为express.static服务的文件创建虚拟路径前缀(该路径在文件系统中实际上不存在)

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

在您的代码中,您可以:

app.use('/public', express.static(path.join(__dirname, "../public")));
app.use('/resource', express.static(path.join(__dirname, "../src")));

// and link in html like
<link rel="stylesheet" href="/public/css/main/pllanet.css">
// img or js
<link rel="stylesheet" href="/resource/img/someimage.jpg">