【问题标题】:wiredep confusion and wiredep didn't inject after filename rename文件名重命名后wiredep混淆和wiredep没有注入
【发布时间】:2015-04-12 08:30:13
【问题描述】:

所以我用 yo gulp-angular 做了一个应用程序。添加的示例应用程序是modernizr。我试图了解wiredep如何将js文件注入index.html。我知道它使用

<!-- bower:js -->
<!-- endbower -->

运行 gulp 后,wiredep 将这段代码添加到 index.html

<script src="../bower_components/modernizr/modernizr.js"></script>

现在,我将 modernizr.js 物理文件重命名为 avengermodernizr.js 只是为了查看wiredep 的行为以及它是否会注入。不幸的是,wiredep 没有将它注入 index.html。那时我很困惑。我找不到它是如何注入特定文件名的。

那么是否有一个modernizr 告诉wiredep 的配置文件?

【问题讨论】:

    标签: gulp wiredep


    【解决方案1】:

    是和否,wiredep 使用包的 main 属性中指定的文件,来自其 bower.json。 (见bower.json spec on the main property

    如果包没有bower.json(如 Modernizr 的情况)或不提供main 属性,wiredep 将尝试注入与包名称匹配的文件。在这种情况下,bower install modernizr 下载的根目录中有一个名为 modernizr.js 的文件,并且由于该文件名与包的名称匹配,因此它会注入该文件。

    另外,您不应该重命名 bower 文件。这违背了包管理器的目的。

    【讨论】:

    • 我知道我不应该重命名文件名。我只是好奇,wiredep 是否使用了 *.js 之类的通配符。根据我的测试,它没有。现在我知道它将使用包的名称。非常感谢! :)
    • 哦,wiredep 会进入 bower.json 文件中提到的每个包中,我说得对吗?
    • 是的。如果你使用bower install 没有--save 标志,因此该包不在你的bower.json 中,它不会注入它。
    • 如果我们有来自不同包的 javascript 文件并且我们希望在注入时有特定的顺序,我们应该怎么做? css 文件也是如此,我希望在 final.css 之前先加载dependency.css。谢谢!
    • 您在包含final.css 的包中将dependency.css 列为final.css 的依赖项。如果这些是未指定其依赖项且应该的第 3 方包,请针对该包开票。否则,您可以使用来自wiredepoverrides 机制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多