Grunt usemin和filerev无法使用build:js comment

时间:2016-09-03 17:14:44

标签: angularjs gruntjs grunt-usemin

我不知道为什么,因为必须有问题,但我的任务是“使用”和“不会替换我所做的脚本导入,我会以更好的方式告诉它:

我有一个应用程序,当我键入' grunt build'时,它会创建一个dist文件夹,而在dist / scripts中,它有一个连接的,uglified文件,名为' application.js&#39 ;

到了运行grunt-filerev的时候,它会对文件进行哈希处理,然后我就可以了,例如dist / scripts / application.12345678.js

这很酷,filerev必须散列文件js,但问题(我认为)是从filerev到usemin的连接。

我的.html文件中有这个:

<head>
<link rel="stylesheet" href="styles/main.css"/>
</head>

<body ng-app="prova">
<!-- build:js scripts/application.js -->
<script src="scripts/app.js"></script>
<script src="scripts/config.js"></script>
<script src="scripts/routes.js"></script>
<script src="scripts/directives/home-box/home-box-controller.js"></script>
<script src="scripts/directives/home-box/home-box-directive.js"></script>
<!-- endbuild -->
</body>

在下面的这些配置中,变量distFolder只是'#dist;串

这个usemin&amp;&amp; useminPrepare配置:

useminPrepare: {
        html: 'app/index.html',
        options: {
            dest: '<%= distFolder %>'
        }
    },
    usemin: {
        html: ['<%= distFolder %>/index.html'],
        options: {
            assetsDirs: ['<%= distFolder %>'],
        }
    }

这个filerev配置:

filerev: {
        options: {
            encoding: 'utf8',
            algorithm: 'md5',
            length: 8
        },
        assets: {
            files: [{
                src: [
                    '<%= distFolder %>/bower_components/angular.js',
                    '<%= distFolder %>/scripts/application.js',
                    '<%= distFolder %>/styles/main.css'
                ]
            }]
        }
    }

问题是只有mt main.css得到连接,缩小,修改和正确解析,所以在我的dist文件夹中我可以看到正确的引用,build:js对application.js的评论不起作用,我看到html脚本导入,因为我从未使用过usemin和useminPrepare,它们与非构建应用​​程序相同

1 个答案:

答案 0 :(得分:0)

嗯,有点简单,我没有尝试控制任务的顺序,我在htmlmin之后有了filerev,可能会删除评论,可能在添加filerev之前它正在工作因为filerev和usemin之间存在问题,不知道,顺便说一句,解决方案是按顺序排列

useminPrepare
filerev
usemin
htmlmin