我不知道为什么,因为必须有一个问题,但我的任务'usemin'不取代我所做的脚本导入,我告诉它在一个更好的方式:
我有一个应用程序,当我输入'grunt构建',它创建一个dist文件夹,并在dist/scripts,它有一个连接,称为'application.js'的美化文件
当运行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' String
这个用法&&useminPrepare配置:
useminPrepare: {
html: 'app/index.html',
options: {
dest: '<%= distFolder %>'
}
},
usemin: {
html: ['<%= distFolder %>/index.html'],
options: {
assetsDirs: ['<%= distFolder %>'],
}
}
和这个文件的配置:
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文件夹我可以看到正确的引用,构建:js评论应用程序。js不工作,我看到html脚本导入,因为我从未使用过usemin和useminPrepare,他们是相同的非构建应用程序
嗯,这有点简单,我没有试图控制任务的顺序,我在htmlmin之后有filerev,这可能删除了评论,可能在添加filerev之前它是工作的,因为filerev和usemin之间的问题,不知道,顺便说一下,解决方案是把顺序
useminPrepare
filerev
usemin
htmlmin