如何使用正则表达式HTTP请求文件

时间:2018-06-06 19:29:49

标签: regex angular http

我需要发一个CSS文件的请求。

我知道我的文件将在服务器上的哪个文件夹。

知道的是确切的文件名。它的标题为theme.bundle.xxxxxxxxxxxxxx.css格式,其中xxxxxxxxxxxxxx是一系列随机字符和在构建时生成的数字。

我的问题是,是否可以使用正则表达式发出HTTP请求以获取匹配文件的名称?我不需要帮助构建正则表达式本身,而是如何结合HTTP请求使用它。

我无法找到与使用正则表达式构建HTTP请求相关的任何信息,或者甚至可能。或者

1 个答案:

答案 0 :(得分:3)

简短回答:不可能,除非您有权自定义您的服务器。您将此问题标记为" angular"题。从Angular的角度来看 - Angular无法实现这一目标。

更长的回答:完全可能!但这最终成为一个后端问题,而不是一个Angular问题。您没有指定您拥有的后端,因此我将使用Node / Express服务器作为示例。构建服务器的一部分是设置路由和API端点。考虑每当服务器收到对/ images / background

的GET请求时,使用特定文件响应的代码
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,你的服务器就会回复匹配的文件。