Как HTTP запросить файл с помощью регулярных выражений - PullRequest
0 голосов
/ 06 июня 2018

Мне нужно сделать запрос на файл CSS.

Я знаю, в какой папке на сервере будет находиться мой файл.

Что я не знать точное имя файла.Он будет называться в форме theme.bundle.xxxxxxxxxxxxxx.css, где xxxxxxxxxxxxxx - это серия случайных символов и чисел, сгенерированных во время сборки.

Мой вопрос: возможно ли сделать HTTP-запрос срегулярное выражение, чтобы получить имя соответствующего файла (ов) ?Мне не нужна помощь в построении самого регулярного выражения, а скорее как использовать его в сочетании с HTTP-запросом.

Я не могу найти никакой информации, связанной с использованием регулярных выражений для создания HTTP-запроса,или если это даже возможно.

1 Ответ

0 голосов
/ 06 июня 2018

Краткий ответ: невозможно, если у вас нет доступа к настройке вашего сервера.Вы пометили этот вопрос как "угловой" вопрос.С угловой точки зрения - Angular не может этого добиться.

Более длинный ответ: Абсолютно возможно!Но в конечном итоге это скорее вопрос бэкенда, а не англоязычный вопрос.Вы не указали, какой у вас бэкэнд, поэтому я буду использовать сервер Node / Express в качестве примера.Частью построения сервера является настройка конечных точек маршрутизации и API.Рассмотрим этот код, который отвечает определенным файлом всякий раз, когда сервер получает запрос GET для / images / background

app.get('/images/background', function(req, res) {
   res.sendFile('public/img/background.png')
})

. В вашей ситуации вам необходимо настроить конечную точку с логикой, аналогичной следующей:

app.get('/getMyCssFile', function(req, res) {

  // Use NodeJS fs module to loop over files in /testfolder and read the file names
  let matchingFile;
  fs.readdirSync(testFolder).forEach(file => {
    console.log(file);
    // Perform REGEX matching here, if filename matches, then save this file name
    if (matches) {
      matchingFile = file;
    }
  })

  if (matchingFile) {
    res.sendFile(file)
  } else {
    // handle sending error - no matching file found
  }

})

На вашем Angular-интерфейсе вам просто нужно запросить / getMyCssFile, и ваш сервер ответит соответствующим файлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...