use*_*664 9 c# bundle asp.net-core
我正在努力尝试捆绑在Core 2.0 Web应用程序中工作.我的bundleconfig.json文件中有以下内容:
[
{
"outputFileName": "wwwroot/css/site.min.css",
"inputFiles": [
"wwwroot/css/site.css"
]
},
{
"outputFileName": "wwwroot/css/bootstrap.min.css",
"inputFiles": [
"wwwroot/lib/bootstrap/dist/css/bootstrap.css",
]
},
{
"outputFileName": "wwwroot/css/jquery-datatables.min.css",
"inputFiles": [
"wwwroot/lib/jquery/jquery-datatables/datatables.css",
"wwwroot/lib/jquery/jquery-datatables/Responsive-2.2.1/css/responsive.dataTables.css"
]
},
{
"outputFileName": "wwwroot/js/site.min.js",
"inputFiles": [
"wwwroot/js/site.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/jquery.min.js",
"inputFiles": [
"wwwroot/lib/jquery/dist/jquery.js",
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/bootstrap.min.js",
"inputFiles": [
"wwwroot/lib/bootstrap/dist/js/bootstrap.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
},
{
"outputFileName": "wwwroot/js/jquery-datatables.min.js",
"inputFiles": [
"wwwroot/lib/jquery/jquery-datatables/datatables.js",
"wwwroot/lib/jquery/jquery-datatables/Responsive-2.2.1/js/dataTables.responsive.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
}
]
Run Code Online (Sandbox Code Playgroud)
我安装了BuildBundlerMinifier NugGet包.当我构建项目时,我看到正在处理的bundleconfig.json文件.
我在_Layout.cshtml中添加了以下内容:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<environment include="Development,Staging,Production">
<link rel="stylesheet" href="~/wwwroot/css/site.min.css" />
<link rel="stylesheet" href="~/wwwroot/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/wwwroot/css/jquery-datatables.min.css" />
</environment>
</head>
<body>
<environment include="Development,Staging,Production">
<script src="~/wwwroot/js/site.min.js"></script>
<script src="~/wwwroot/js/jquery.min.js"></script>
<script src="~/wwwroot/js/bootstrap.min.js"></script>
<script src="~/wwwroot/js/jquery-datatables.min.js"></script>
</environment>
@RenderSection("Scripts", required: true)
</body>
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,不会加载资源.我收到以下错误:
对于
<script>源" https:// localhost:44301/wwwroot/js/site.min.js ",加载失败.
对于<script>源" https:// localhost:44301/wwwroot/js/jquery.min.js ",加载失败.
对于<script>源" https:// localhost:44301/wwwroot/js/bootstrap.min.js ",加载失败.
对于<script>源" https:// localhost:44301/wwwroot/js/jquery-datatables.min.js ",加载失败
有人可以帮帮我吗?
小智 14
我厌倦了 Nuget 包管理器,但它没有用,然后卸载它,
解决了:
打开Nuget 包管理器控制台,
Install-Package BuildBundlerMinifier -Version 2.8.391
Run Code Online (Sandbox Code Playgroud)
并再次重建解决方案。这个对我有用。
我无法让这个工作,并了解到现在还有更多的问题.
默认情况下,没有任何Bundling和Minifying东西安装在dotnet核心剃刀页面项目中.
据推测,您可以通过右键单击Visual Studio Solution Explorer中的bundleconfig.json来检查您的设置.但这并没有在我的项目中显示任何内容.
我终于找到了一个Visual Studio加载项.
Bundler&Minifier - 手册
相反,我安装了一个手动捆绑器和缩放器 - 由同一作者(Mads Kristensen)编写,作为上面的Nuget pkg. https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BundlerMinifier
这是一个Visual Studio扩展,在您安装它之后,您可以右键单击任何css或js文件,您将获得允许您"手动"缩小它们的菜单.

在构建上启用bundle ...
该选项将警告您它将安装Nuget包.我还没有这样做.
我也选中该选项[产生输出文件],然后再次选择它(检查),当我这样做的另一个文件是在我的下方解决方案中创建bundleconfig.json命名bundleconfig.json.bindings.该文件只包含一行:
produceoutput=true
Run Code Online (Sandbox Code Playgroud)
奇怪的是它以前不存在.我知道以前不存在该文件,因为git告诉我有未跟踪的文件并提到该文件.
为了测试工作室中是否存在问题,我创建了一个全新的dotnet Core 2.x Razor Pages项目,然后立即删除了min.css并尝试再次构建它,但它不会再次构建.
更新所有捆绑包我在添加.bindings文件后再次构建,但捆绑包仍未构建.然后我注意到我在[Build]菜单下有另一个选项,但我不确定这是否是我安装的Bundling&Minifying插件,所以在寻找这个解决方案时你必须考虑到这一点.
您还可以在Visual Studio [工具...选项...]菜单中检查您的设置:
您可以看到Bundler和Minifier在我的项目中将Product Output files选项设置为true(即使它仍然无效).
实际上,我更仔细地阅读了这个底部句子,我注意到它说"主动监听输入文件的更改",所以我去改变了我的site.css并注意到该值确实在site.css中更新了.
做出改变,改变它
奇怪的是当/如果你删除你的site.min.css然后它似乎没有随时重新生成.我想现在,如果你这样做,你可以进行更改并将其更改回来并创建最小文件.
我测试了一下:删除了site.min.css然后进行了更改,文件再次生成.奇怪的是,构建不会触发此功能.
小智 5
您必须在网址中删除“ wwwroot”部分。“ wwwroot”是您的应用程序运行所在的根文件夹。现在它将在“ ... wwwroot / wwwroot / js ...”而不是“ ... wwwroot / js ...”中搜索文件。
我所做的最终解决方案是删除 -<PackageReference Include="BundlerMinifier.Core" Version="2.8.391" />
添加 -<PackageReference Include="BuildBundlerMinifier" Version="2.9.406" />以使其正常工作。
添加 VS 扩展并在构建步骤启用包还会添加 BuildBundlerMinifier 包。
| 归档时间: |
|
| 查看次数: |
12813 次 |
| 最近记录: |