首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET Core2.0 bundleconfig.json不工作

.NET Core2.0 bundleconfig.json不工作
EN

Stack Overflow用户
提问于 2018-02-10 12:21:06
回答 11查看 27.1K关注 0票数 17

我正努力在Core2.0 web应用程序中进行捆绑工作。我的bundleconfig.json文件中有以下内容:

代码语言:javascript
复制
[
  {
    "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
  }
]

我安装了BuildBundlerMinifier NugGet包。在构建项目时,我会看到正在处理的bundleconfig.json文件。

我在_Layout.cshtml中添加了以下内容

代码语言:javascript
复制
<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>

当我运行应用程序时,没有加载资源。我得到以下错误:

对于源“<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加载失败

有人能帮帮我吗?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2018-02-10 13:21:07

您必须删除urls中的"wwwroot“部分。"wwwroot“是运行应用程序的根文件夹。现在它将搜索“.wwwroot/wwwroot/js.”中的文件。而不是“.www.root/js.”。

票数 6
EN

Stack Overflow用户

发布于 2019-01-29 09:39:31

我厌倦了Nuget软件包管理器,但它没有工作,然后卸载它,

通过以下方式解决了问题:

打开Nuget包管理器控制台

代码语言:javascript
复制
Install-Package BuildBundlerMinifier -Version 2.8.391 

重新构建解决方案。对我来说很管用。

票数 17
EN

Stack Overflow用户

发布于 2018-04-24 17:54:08

我无法做到这一点,并了解到,目前的问题还有更多。

默认情况下,dotnet核心剃须刀页面项目中没有任何捆绑和缩小的东西。

据说,您可以通过右键单击Visual解决方案资源管理器中的bundleconfig.json来检查您的设置.但这在我的项目中什么都没有显示出来。

我终于找到了一个Visual外接程序

打包机和小型化器--手动

相反,我安装了一个手动的邦德勒和迷你机--它是由同样的作者()和上面的Nuget pkg编写的。https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BundlerMinifier

这是一个Visual扩展,在安装它之后,您可以右键单击任何css或js文件,您将得到允许您“手动”缩小它们的菜单。

在build.上启用包

该选项将警告您,它将安装Nuget软件包。我还没那么做呢。

我还取消选中该选项,生成输出文件,然后再次选择它(已选中),当我这样做时,在我的解决方案中创建了另一个名为bundleconfig.json bundleconfig.json.bindings.的文件该文件只包含一行:

代码语言:javascript
复制
produceoutput=true

奇怪的是它以前不在那里。我知道以前不存在该文件,因为git告诉我有一些未跟踪的文件,并提到了该文件。

为了测试工作室中是否有问题,我创建了一个全新的DotNetCore2.xRazorPages项目,然后立即删除了min.css,并尝试重新构建它,但是它再也没有构建过了。

在添加了.bindings文件之后,更新我重新构建的所有Bundles,但是包仍然没有构建。然后我注意到我在Build菜单下还有另一个选项,但我不确定这是否是我安装的捆绑和缩小插件,所以在寻找这个解决方案时,您必须考虑这一点。

您还可以在Visual Tools...Options中检查您的设置。菜单:

您可以看到,在我的项目中,Bundler & Minifier将选项设置为true (尽管它仍然不起作用)。

实际上,我更仔细地阅读了最后一句,我注意到它写着,“积极地倾听输入文件的更改”,所以我去修改了我的site.css,并注意到site.css中确实更新了这个值。

做了一个改变,把它变回

奇怪的是,如果您删除了site.min.css,那么它似乎在任何时候都不会重新生成。现在,如果您这样做,您可以进行更改并将其更改回,则会创建min文件。

我对此进行了测试:删除了site.min.css,然后进行了更改,文件再次被gen处理。奇怪的是,构建没有启动这个功能。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48720712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档