4

我正在使用 yeoman webapp 生成器来生成一个模板来开始我的工作。这一刻,我的 bower.json 看起来像这样

  {
    “名称”:“示例项目”,
    “私人”:真的,
    “依赖”:{
      "bootstrap-sass": "~3.3.5",
      “modernizr”:“~2.8.3”,
      "fontawesome": "~4.3.0",
      "jquery.smooth-scroll": "~1.5.5",
      "animate.css": "~3.3.0",
      “jquery.appear”:“*”
    },
    “覆盖”:{
      “引导萨斯”:{
        “主要的”: [
          “资产/样式表/_bootstrap.scss”,
          “资产/字体/引导程序/*”,
          “资产/javascripts/bootstrap.js”
        ]
      }
    },
    “开发依赖”:{
      "柴": "~3.0.0",
      “摩卡”:“~2.2.5”
    }
  }

现在,在 cmd 提示符下,我在 grunt watch 运行时输入这个

bower install bootstrap-datepicker -S

然后我发现"bootstrap-datepicker": "~1.4.0"是插入到dependencies部分,然后

<script src="bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>

将自动连接到我的 index.html 中,它变成了这个

  <!-- build:js(.) scripts/vendor.js -->
  <!-- bower:js -->
     .
     .
     <script src="bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
  <!-- endbower -->
  <!-- endbuild -->

然后我尝试将另一个凉亭组件安装到我的 webapp

bower install country-region-selector -S

接下来发生的事情是我发现"country-region-selector": "~0.1.8"在 bower.json 的依赖项部分下,例如 bootstrap-datepicker,但是相应的

<script src="bower_components/country-region-selector/dist/crs.min.js"></script>

没有连接到我的 index.html。

所以我的问题是为什么 gruntwiredep 不适用于某些凉亭组件?同样的事情发生在form.validation任何人都可以阐明这个问题吗?

4

1 回答 1

3

grunt-wiredep以非常具体的方式工作。依赖项应列在main属性内的数组中,bower.josn就像您在引导程序中提到的示例一样。

您面临的问题可能是那些包没有main属性,或者它在字符串而不是数组中使用多个文件。

要解决此问题,您始终可以为 packagesmain属性定义一个覆盖,如下所示...

在你的咕噜声文件中:

wiredep: {
    ...
    overrides: {
      'package-name': {
        'main': [
          'link-to-css-file.css',
          'link-to-js-file.js'
        ]
      },
    },
},
于 2015-08-27T14:52:59.760 回答