Я не знаю почему, потому что должна быть проблема, но моя задача «usemin» не заменяет импорт скрипта, который я сделал, я говорю это лучше:
У меня есть приложение, которое, когда я набираю «grunt build», создает папку dist, а внутри dist/scripts у него есть конкатенированный, uglified файл с именем «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.
Эта конфигурация usemin && 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, они такие же, как несобранное приложение