问题。如何添加到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"));
}
然后:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
例如......
答案 0 :(得分:7)
MVC5中存在的捆绑和缩小不再存在于MVC Core中。
您的选择是(没有深入研究Node生态系统 - 这同样有效,但会引入更多概念):
这两种工具都在相同的基础设施上运行。他们使用bundleConfig.json
文件来描述捆绑包的结构(进入的文件,出现的文件,包括源图等等)。
这两个概念的解释也可以通过documentation获得。
根据您的构建环境,您可以使用@Scripts.Render()
来交换缩小和未缩减资源的链接,而不是调用taghelpers
来生成与缩小或未缩减资源的链接。例如:
<environment names="Development">
<script src="~/unminified.js"></script>
</environment>
<environment names="Staging,Production">
<script src="~/bundledandminified.min.js"></script>
</environment>
答案 1 :(得分:3)
我需要System.Web.Optimization的运行时捆绑功能(能够进行动态较少的编译)所以我为此实现了一个.NET Core替换,现在我决定在MIT下publish it许可证。
如果要使用它,首先需要安装实现NuGet包:
Install-Package Karambolo.AspNetCore.Bundling.NUglify -IncludePrerelease
或
Install-Package Karambolo.AspNetCore.Bundling.WebMarkupMin -IncludePrerelease
您喜欢哪种缩放器库。
然后你需要在Startup.ConfigureServices()中的DI容器中注册它:
services.AddBundling()
.UseDefaults(_env)
.UseNUglify(); // or .WebMarkupMin(), respectively
字段_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...
});
请注意,tildes和“/ bundles”前缀已删除(因为它已自动添加),并且扩展名已添加到捆绑路径中。需要使用与捆绑输出相对应的正确扩展名。
将以下内容添加到_ViewImports.cshtml:
@using Karambolo.AspNetCore.Bundling.ViewHelpers
@addTagHelper *, Karambolo.AspNetCore.Bundling
在Razor视图中,您可以使用熟悉的语法:
@await Scripts.RenderAsync("~/bundles/jquery.js")
@await Scripts.RenderAsync("~/bundles/jqueryval.js")
或新标记助手语法:
<script src="~/bundles/jquery.js"></script>
<script src="~/bundles/jqueryval.js"></script>
请注意,在视图中,您必须添加波形符和前缀。有关此细节和其他详细信息,请参阅project page。