目前,我正在使用NuGet包,它允许我定义带有许多JS文件的大捆绑包,
bundles.Add(new ScriptBundle("~/Bundles/js/PartOfMyGiantAngularApp").Include(
// messages
"~/App/messages/service/messageCache.module.js",
"~/App/messages/service/messageCache.service.js",
"~/App/messages/message-list/message-list.module.js",
"~/App/messages/message-list/message-list.component.js",
"~/App/messages/message-detail/message-detail.module.js",
"~/App/messages/message-detail/message-detail.component.js",
"~/App/messages/message-edit/message-edit.module.js",
"~/App/messages/message-edit/message-edit.component.js",
"~/App/messages/message-create/message-create.module.js",
"~/App/messages/message-create/message-create.component.js",
"~/App/messages/message.module.js"
)
并将它们全部拉入我的主html文件:
@Scripts.Render("~/Bundles/js/PartOfMyGiantAngularApp.js")
它将在生产中生成一个文件:
<script src="/Bundles/js/PartOfMyGiantAngularApp.js"></script>
,或者在dev中,它将呈现多个脚本标记。
<script src="/App/messages/service/messageCache.module.js"></script>
<script src="/App/messages/service/messageCache.service.js"></script>
<script src="/App/messages/message-list/message-list.module.js"></script>
<script src="/App/messages/message-list/message-list.component.js"></script>
<script src="/App/messages/message-detail/message-detail.module.js"></script>
<script src="/App/messages/message-detail/message-detail.component.js"></script>
<script src="/App/messages/message-edit/message-edit.module.js"></script>
<script src="/App/messages/message-edit/message-edit.component.js"></script>
<script src="/App/messages/message-create/message-create.module.js"></script>
<script src="/App/messages/message-create/message-create.component.js"></script>
<script src="/App/messages/message.module.js"></script>
当使用新的构建时Bundler/Minifier时,我们如何在开发模式下获得这种自动的多个文件,而不必在我的bundle配置中指定每个文件,也不必在主HTML页面中指定环境标记?我希望它能找出路径,让它们像旧的一样。当我不知道JS代码来自哪个文件时,很难调试一行代码。
这里写得很好:
https://learn.microsoft.com/en-us/aspnet/core/client-side/bundling-and-minification?tabs=visual-工作室%2aspnetcore2x
在:基于环境的捆绑和缩小我们将不得不这样做:
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
当我有很多JS文件时,这是一个可怕的解决方案!
我认为您想要禁用绑定。在RegisterBundles方法中(App_Start文件夹中的BundleConfig类)。添加此项,将禁用捆绑
BundleTable.EnableOptimizations = false;