Sam*_*Sam 7 asp.net-core-mvc asp.net-core
这个问题.如何添加到Startup.cs(ASP.NET Core项目)与App_Start> BundleConfig.cs相同的配置
当有:
public class BundleConfig
{
// For more information on bundling, visit http://go.microsoft.com
/fwlink/?LinkId=301862
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
}
Run Code Online (Sandbox Code Playgroud)
然后:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
Run Code Online (Sandbox Code Playgroud)
例如...
MVC Core中不再存在MVC5中存在的捆绑和缩小.
您的选择是(没有深入研究Node生态系统 - 这同样有效,但会引入更多概念):
这两种工具都在相同的基础设施上运行.他们使用一个bundleConfig.json文件来描述你的bundle的结构(进入的文件,出来的文件,包含源图等等)
@Scripts.Render()根据您的构建环境,您可以使用taghelpers在链接之间交换缩小和未分解的资源,而不是根据您的构建环境调用可以生成缩小或未缩减资源的链接.例如:
<environment names="Development">
<script src="~/unminified.js"></script>
</environment>
<environment names="Staging,Production">
<script src="~/bundledandminified.min.js"></script>
</environment>
Run Code Online (Sandbox Code Playgroud)
我需要 System.Web.Optimization 的运行时捆绑功能(为了能够进行动态的 Less 编译),所以我实现了一个 NET Core 替代品,现在我决定在 MIT 许可下发布它。
如果要使用它,首先需要安装一个实现 NuGet 包:
dotnet add package Karambolo.AspNetCore.Bundling.NUglify
Run Code Online (Sandbox Code Playgroud)
或者
dotnet add package Karambolo.AspNetCore.Bundling.WebMarkupMin
Run Code Online (Sandbox Code Playgroud)
无论您喜欢哪种压缩器库。
然后需要在Startup.ConfigureServices()中的DI容器中注册:
services.AddBundling()
.UseDefaults(_env)
.UseNUglify(); // or .WebMarkupMin(), respectively
Run Code Online (Sandbox Code Playgroud)
字段 _env 是对 IHostingEnvironment 的引用,您可以在构造函数中注入它。
现在您可以在 Configure() 方法中配置您的包,如下所示:
app.UseBundling(bundles =>
{
bundles.AddJs("/jquery.js")
.Include("/Scripts/jquery-*.js");
bundles.AddJs("/jqueryval.js")
.Include("/Scripts/jquery.validate*");
// and so on...
});
Run Code Online (Sandbox Code Playgroud)
注意波浪号和“/bundles”前缀被删除(因为它是自动添加的)以及添加到包路径的扩展。需要使用与包的输出相对应的正确扩展名。
将以下内容添加到您的 _ViewImports.cshtml:
@using Karambolo.AspNetCore.Bundling.ViewHelpers
@addTagHelper *, Karambolo.AspNetCore.Bundling
Run Code Online (Sandbox Code Playgroud)
在 Razor 视图中,您可以使用熟悉的语法:
@await Scripts.RenderAsync("~/bundles/jquery.js")
@await Scripts.RenderAsync("~/bundles/jqueryval.js")
Run Code Online (Sandbox Code Playgroud)
或新的标签助手语法:
<script src="~/bundles/jquery.js"></script>
<script src="~/bundles/jqueryval.js"></script>
Run Code Online (Sandbox Code Playgroud)
请注意,在视图中您必须添加波浪号和前缀。有关此内容和其他详细信息的更多信息,请参阅项目页面。
| 归档时间: |
|
| 查看次数: |
7873 次 |
| 最近记录: |