标签: asp-append-version

ASP.NET Core 的 asp-append-version 属性不适用于 wwwroot 目录之外的静态文件

我有一个 ASP.NET Core 项目,wwwroot目录和bower_components目录中都有静态文件。

我可以通过将其添加到我的Startup.cs班级来为这些文件提供服务:

StaticFileOptions rootFileOptions = new StaticFileOptions();
rootFileOptions.OnPrepareResponse = staticFilesResponseHandler;
StaticFileOptions bowerFileOptions = new StaticFileOptions();
bowerFileOptions.OnPrepareResponse = staticFilesResponseHandler;
string bowerDirectory = Path.Combine(Directory.GetCurrentDirectory(), "bower_components");
PhysicalFileProvider bowerPhysicalFileProvider = new PhysicalFileProvider(bowerDirectory);
bowerFileOptions.FileProvider = bowerPhysicalFileProvider;
bowerFileOptions.RequestPath = new PathString("/bower");
app.UseStaticFiles(rootFileOptions);
app.UseStaticFiles(bowerFileOptions);
Run Code Online (Sandbox Code Playgroud)

然后从我的观点中引用它们如下:

<script type="text/javascript" src="/bower/jquery/dist/jquery.min.js" asp-append-version="true"></script>
<script type="text/javascript" src="/Libs/jQuery-UI/jquery-ui.min.js" asp-append-version="true"></script>
Run Code Online (Sandbox Code Playgroud)

虽然asp-append-version看起来就好工作了位于下资源wwwroot,似乎对资源的外部完全忽略wwwroot。尽管如此,所有资源都得到了适当的服务;没有 404 或任何东西。上述代码的结果 HTML 如下:

<script type="text/javascript" src="/bower/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="/Libs/jQuery-UI/jquery-ui.min.js?v=YZKMNaPD9FY0wb12QiluqhIOWFhZXnjgiRJoxErwvwI"></script>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c# asp.net asp.net-core wwwroot asp-append-version

6
推荐指数
2
解决办法
4881
查看次数

C# js 附加版本也适用于导入中使用的文件

我在 c# .net core 2.2 webapp 上,我在 cshtml 中使用 [asp-append-version="true"] 来处理 js 和 css 来进行缓存突发。但问题是我正在添加一个脚本,例如

    <script src="~/js/Video/Video.js" type="module" asp-append-version="true"></script>
Run Code Online (Sandbox Code Playgroud)

video.js 文件具有以下代码,基本上它有一些导入

import { TestCongestionHeaderInfo } from '../TestCongestionHeaderInfo.js';
import { ResponseHandler } from '../Common/ResponseHandler.js';
...
Run Code Online (Sandbox Code Playgroud)

我确实获得了 video.js 的版本控制,但没有获得导入的模块文件的版本控制。以下是 chrome 网络检查窗口的屏幕截图

在此输入图像描述

我怎样才能实现导入文件的版本控制?

c# asp.net-core asp-append-version

5
推荐指数
0
解决办法
499
查看次数

标签 统计

asp-append-version ×2

asp.net-core ×2

c# ×2

asp.net ×1

wwwroot ×1