gpt4 book ai didi

javascript - 带有 wiredep、concat 和 cdnify 的默认 yeoman angular 应用程序——实际 cdnify 是如何实现的?

转载 作者:搜寻专家 更新时间:2023-11-01 04:41:23 26 4
gpt4 key购买 nike

我有一个使用默认 yeoman 设置启动的 Angular 项目。

查看构建过程的工作原理,我无法想象我的任何 Bower 依赖项是如何自动 cdnify 的,以及 cdnify 任务的重点是什么。

首先,yeoman 使用 wiredep 设置所有内容,它将我的 bower 依赖项连接到 index.html 中的一个位置。看起来像:

<!-- build:js(app) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/json3/lib/json3.js"></script>
<!-- endbower -->
<!-- endbuild -->

从 Yeoman 查看我的 Gruntfile,似乎

  1. Wiredep 将所有 bower 依赖项强制放入此 block
  2. 然后将整个 block 编译成 vendor.js

最后

  1. cdnify 运行,识别任何免费脚本标签并尝试替换为 cdn 版本。

这对我来说似乎很愚蠢。但在我开始破解我的 Gruntfile 之前,我想尝试确保我的理解是正确的。

我不能简单地复制粘贴到这个 block 之外的 cdnify' 依赖项,因为 wiredep 只是将它们放回原处。如果我这样做,index.html 将包含 jquery 两次,例如。一次在 vendor.js 中,第二次来自 cdn。

如果我想使用 cdnify,那么我需要远离 wiredep,并手动决定哪些依赖项应该被 cdnify,哪些不应该。

yeoman 似乎比这更聪明,我想确保我不是这里的笨蛋。这个设置是否有些矛盾/冗余?我错过了什么吗?

更新 似乎将脚本放在这个 block 之外会导致 wiredep 不将它们放在 bower block 中。但是,我找不到任何地方说这是记录在案的行为。

最佳答案

您可以转到已注册任务的 grunt 文件底部,并从 grunt build 等任务中删除 CDNify 等内容。 Grunt 下次将跳过该步骤。

关于javascript - 带有 wiredep、concat 和 cdnify 的默认 yeoman angular 应用程序——实际 cdnify 是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25165372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com