我需要发一个CSS文件的请求。
我知道我的文件将在服务器上的哪个文件夹。
我 知道的是确切的文件名。它的标题为theme.bundle.xxxxxxxxxxxxxx.css
格式,其中xxxxxxxxxxxxxx
是一系列随机字符和在构建时生成的数字。
我的问题是,是否可以使用正则表达式发出HTTP请求以获取匹配文件的名称?我不需要帮助构建正则表达式本身,而是如何结合HTTP请求使用它。
我无法找到与使用正则表达式构建HTTP请求相关的任何信息,或者甚至可能。或者
答案 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,你的服务器就会回复匹配的文件。