我不知道为什么,因为必须有问题,但我的任务是“使用”和“不会替换我所做的脚本导入,我会以更好的方式告诉它:
我有一个应用程序,当我键入' 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,它们与非构建应用程序相同
答案 0 :(得分:0)
嗯,有点简单,我没有尝试控制任务的顺序,我在htmlmin之后有了filerev,可能会删除评论,可能在添加filerev之前它正在工作因为filerev和usemin之间存在问题,不知道,顺便说一句,解决方案是按顺序排列
useminPrepare
filerev
usemin
htmlmin