【问题标题】:yeoman/grunt-usemin not updating index.html after new js has been added添加新 js 后,yeoman/grunt-usemin 不更新 index.html
【发布时间】:2013-11-19 16:28:28
【问题描述】:

我在 windows7 上将 yeoman 与角度生成器一起用于 Web 应用程序。运行 yo angular 后,我运行 grunt 来构建应用程序以进行部署。我的 dist 文件夹中的 index.html 文件随着 css 和 js 文件的连接和缩小而相应更改。

例如,当我将新的 js 文件添加到 index.html 时

<script src="bower_components/json3/lib/json3.js"></script>

然后我再次运行 grunt 来构建; index.html 文件不再将 css aan js 文件更改为缩小的文件,它基本上与 app 目录中的 index.html 显示完全相同。

我还尝试将 json3.js 放入 build:js cmets 中:

 <!-- build:js scripts/json.js -->
 <script src="bower_components/json3/lib/json3.js"></script>
 <!-- endbuild -->

我在这里缺少什么吗?我必须更改 grunt 文件中的某些内容,例如 usemin 部分吗?

【问题讨论】:

    标签: javascript html node.js yeoman


    【解决方案1】:

    我反复碰到这个问题,并在我的案例中找到了解决方案。

    我正在使用 vs 2012 为 grunt 任务创建我的 HTML 和 cmd。看来我的 Line 结尾不正确,所以我将它们更改为 Unix (LF) 并且 grunt-usemin 做了它的事情。将行尾设置为 Windows (CR LF) 时,grunt-usemin 不会正确更新 index.html 页面。

    希望这对某人有所帮助!

    【讨论】:

    • 谢谢!行尾将永远困扰我们。
    • 非常感谢!帮我省了很多麻烦
    【解决方案2】:

    请注意,您的自定义 JavaScript 包含在 build:js({.tmp,app}) 部分中,这就是它们在单个文件中被缩小的原因。
    我不建议将 bower 获得的库放到 build:js({.tmp,app}) - 请参阅以下评论:https://stackoverflow.com/a/19034513/1432478

    查看 grunt 的 cdnify 任务可能是个好主意。
    json3 CDN

    【讨论】:

      【解决方案3】:

      我遇到了完全相同的问题。我能找到修复它的唯一方法是在 htmlmin 任务下的 Gruntfile 中。

      当index.html文件没有变化时,我的htmlmin任务如下:

      htmlmin: {
        dist: {
          options: {
            //options
          },
          files: [{
            expand: true,
            cwd: '<%= yeoman.app %>',
            src: ['*.html', 'views/{,*/}*.html'],
            dest: '<%= yeoman.dist %>'
          }]
        }
      }
      

      如果我只是删除了html:files:src 中的*.html 部分,则构建工作正常。我较新的htmlmin 任务如下所示:

      htmlmin: {
        dist: {
          options: {
            //options
          },
          files: [{
            expand: true,
            cwd: '<%= yeoman.app %>',
            src: ['views/{,*/}*.html'],
            dest: '<%= yeoman.dist %>'
          }]
        }
      }
      

      希望这对某人有所帮助。我花了一段时间才弄清楚为什么 index.html 文件没有被正确编辑。

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,无法添加 angular-route 和 angular-animate - 我的意思是对文件的引用 - 它们的脚本标签 - 没有保存到 index.html 文件中。

        我发现这是因为我在 我的 index.html 文件中的标记。把它们放在之后,它工作得很好。

        【讨论】:

        • 你在什么标签之前输入了他们的标签?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        • 2013-09-19
        • 1970-01-01
        • 1970-01-01
        • 2014-07-22
        相关资源
        最近更新 更多