Asp.net mvc .NET core NToastNotify nuget包在/u content/NToastNotify/toastr.js?7.0.0.0上返回404,但仅在PROD上返回
我正在使用Asp.net mvc .NET core NToastNotify nuget包在/u content/NToastNotify/toastr.js?7.0.0.0上返回404,但仅在PROD上返回,asp.net-mvc,asp.net-core,Asp.net Mvc,Asp.net Core,我正在使用.netcore3.1的ntoastnotifynuget包(v7.0.0) services.AddMvc(options => { options.EnableEndpointRouting = false; options.Conventions.Add(new RouteTokenTransformerConvention( new SlugifyParameterTransformer())); }) .AddNToas
.netcore3.1
的ntoastnotifynuget包(v7.0.0)
services.AddMvc(options =>
{
options.EnableEndpointRouting = false;
options.Conventions.Add(new RouteTokenTransformerConvention(
new SlugifyParameterTransformer()));
})
.AddNToastNotifyToastr(new ToastrOptions
{
NewestOnTop = true,
TimeOut = 10000,
ProgressBar = false,
PositionClass = ToastPositions.BottomRight
}, new NToastNotifyOption()
{
ScriptSrc = "/js/toastr.min.js",
StyleHref = "/css/toastr.min.css"
});
我已经添加了app.UseNToastNotify()Configure
方法中的code>中间件,以及在布局页面的body标记中添加了@wait组件.InvokeAsync(“NToastNotify”)
位
在开发过程中,一切都很完美,但在生产过程中,当它尝试下载JS
文件时,返回404。如您所见,我也尝试覆盖脚本源代码,但仍然没有成功
@await Component.InvokeAsync(“NToastNotify”)
部分将实际呈现以下内容
<script src=/_content/NToastNotify/toastr.js?7.0.0.0 type="text/javascript"></script>
<script>
if (nToastNotify) {
nToastNotify.init({
firstLoadEvent: 'DOMContentLoaded',
messages: [],
responseHeaderKey: 'X-NToastNotify-Messages',
requestHeaderKey: 'X-Requested-With',
libraryDetails:{"varName":"toastr","scriptSrc":"https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js","styleHref":"https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css","options":{"positionClass":"toast-bottom-right","timeOut":10000,"newestOnTop":true,"progressBar":false,"type":"success"}},
disableAjaxToasts:false
});
};
</script>
如果(通知){
nToastNotify.init({
firstLoadEvent:'DOMContentLoaded',
信息:[],
responseHeaderKey:'X-NToastNotify-Messages',
requestHeaderKey:'X-Requested-With',
库详细信息:{“varName”:“toastr”,“scriptSrc”:”https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js,“styleHref”:https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css“,”选项“:{”位置类“:”右下角“,”超时“:10000,“newestOnTop”:true,“progressBar”:false,“type”:“success”},
令人失望的祝酒词:false
});
};
我将得到以下两个错误gethttps://xy.hu/_content/NToastNotify/toastr.js?7.0.0.0 net::ERR_中止404和未捕获引用错误:未定义nToastNotify
整个站点通过Cloudflare运行。我不确定这是否是它在生产中不起作用的原因。顺便说一句,任何环境中都不存在此内容文件夹,它是由nuget软件包下载的。根据错误消息,我猜此问题可能与Cloudflare托管的文件夹路径有关。为了避免这个问题,我建议您可以尝试下面的解决方法
您可以在视图中手动添加引用,如下所示:
<script src=https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js?7.0.0.0 type="text/javascript"></script>
或者直接下载脚本并添加相对路径