Экспресс два статических файла каталога - PullRequest
0 голосов
/ 07 апреля 2019

Моя папка имеет следующую структуру:

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 голосов
/ 07 апреля 2019

Вы можете реализовать 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">
...