【问题标题】:Grunt wiredep not wiring some bower componentsGruntwiredep 没有连接一些凉亭组件
【发布时间】:2015-07-13 09:14:25
【问题描述】:

我正在使用 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 组件

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 不适用于某些 Bower 组件? form.validation 也发生了同样的事情,有人能解释一下这个问题吗?

【问题讨论】:

    标签: bower yeoman grunt-wiredep


    【解决方案1】:

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

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

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

    在你的 grunt 文件中:

    wiredep: {
        ...
        overrides: {
          'package-name': {
            'main': [
              'link-to-css-file.css',
              'link-to-js-file.js'
            ]
          },
        },
    },
    

    【讨论】:

    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    相关资源
    最近更新 更多