gpt4 book ai didi

c# - 包括所有匹配 regex razor cshtml 的文件

转载 作者:太空宇宙 更新时间:2023-11-03 21:05:34 25 4
gpt4 key购买 nike

我想在 CSHTML 文件中包含 Angular2 构建文件。

目前,我的包含是:

@section scripts {
<script src="~/dist/main.js" asp-append-version="true"></script>
}

但是 Angular2 在每个产品构建中生成文件名中具有不同标识符的文件。

chunk    {0} main.2e0750e4cb976b8dca8a.bundle.js (main) 15.8 kB {3} [initial] [rendered]
chunk {1} styles.b64dd2f7c2e3011c4efb.bundle.css (styles) 154 kB {4} [initial] [rendered]
chunk {2} scripts.e7e62c29938f18f13e86.bundle.js (scripts) 128 kB {4} [initial] [rendered]
chunk {3} vendor.05b8df0708b580c61647.bundle.js (vendor) 3.42 MB [initial] [rendered]
chunk {4} inline.1b4aa06545162c1bb581.bundle.js (inline) 0 bytes [entry] [rendered]

我不想取消激活(如果可能的话)包含这些标识符的事实(用于非缓存目的)。一个人在 github 问题页面上回答 可以使用一些正则表达式 来制作包含:

/(main|styles|scripts|vendor|inline).*.bundle.(map|js|css)/g

但我不知道如何将它传递到我的 C#/cshtml 文件。

它的结果应该是包括所有与给定目录中的模式匹配的文件(wwwroot,或 ~ 作为快捷方式)。

关于如何实现这一点有什么想法吗?

最佳答案

您可以为脚本使用 asp-src-include 标记帮助程序,为链接 (css) 使用 asp-href-include

<script asp-src-include="~/dist/main.*.bundle.js" asp-append-version="true"></script>
<link asp-href-include="~/dist/styles.*.bundle.css"/>

但是 iirc 你不能在其中使用正则表达式,只能使用全局路径(即 dist/**/*.js,其中 ** 也会查看所有子文件夹。

如果这不符合您的需要,您需要编写自己的标签助手。

有关 LinkTagHelper 的当前实现,请参阅 GitHub和 ScriptTagHelper .

无论如何我都不建议您对主要部分使用正则表达式,因为您无法控制文件包含的顺序。所以最好手动控制这个并且只制作标识符/哈希值变量。

关于c# - 包括所有匹配 regex razor cshtml 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com