У меня есть черновой проект подкрепленной YEOMAN-генератор, который я построил на основе generator-webapp
, если это какая-либо помощи, вы можете найти его на GitHubКак следует настроить черновое-usemin работать с относительным путем
Проект grunt дает нам задачу grunt-usemin
.
Мой проект предполагает создание многоязычного веб-сайта и сохранение чистоты, я решил поместить все страницы, написанные на языке в имени папки, после двухбуквенного короткого кода указанного языка.
| project/
|--dist/
|----en/
|------index.html
|------404.html
|------...
|----fr/
|------index.html
|------404.html
|------...
Файлы сделаны из шаблонов Рули и обработаны с assemble
. В макете у меня есть строительные блоки для usemin
, таких как
<!-- build:css(.tmp) styles/main.css -->
<link rel="stylesheet" href="../styles/main.css">
<!-- endbuild -->
<!-- build:js scripts/vendor/modernizr.js -->
<script src="../bower_components/modernizr/modernizr.js"></script>
<!-- endbuild -->
Который, в идеальном мире было бы перевести на
<link rel="stylesheet" href="../styles/main.css">
<script src="../scripts/vendor/modernizr.js"></script>
, но вместо этого показывает
<link rel="stylesheet" href="styles/main.css">
<script src="scripts/vendor/modernizr.js"></script>
, который меньше, чем идеал в мое дело. Соответствующая часть Gruntfile.js
выглядит следующим образом
useminPrepare: {
options: {
dest: '<%= yeoman.dist %>'
},
html: [
'<%= yeoman.app %>/fr/{,*/}*.html',
'<%= yeoman.app %>/en/{,*/}*.html'
]
},
usemin: {
options: {
dirs: ['<%= yeoman.dist %>']
},
html: [
'<%= yeoman.dist %>/fr/{,*/}*.html',
'<%= yeoman.dist %>/en/{,*/}*.html'
],
css: ['<%= yeoman.dist %>/styles/{,*/}*.css']
}
Я попытался использовать basedir
опцию , установив его в <%= yeoman.dist %>
, а также изменение сборки блоков для
<!-- build:css(.tmp) ../styles/main.css -->
<link rel="stylesheet" href="../styles/main.css">
<!-- endbuild -->
<!-- build:js ../scripts/vendor/modernizr.js -->
<script src="../bower_components/modernizr/modernizr.js"></script>
<!-- endbuild -->
Но, к сожалению, WASN» t, чтобы получить правильный выход.
Более конкретно, первый один ничего не изменится, то второй один имел к папкам scripts
и styles
выводимый на один уровень слишком высоко в иерархии
| project/
|--app/
|--dist/
|--styles/
|--scripts/
вместо
| project/
|--app/
|--dist/
|----styles/
|----scripts/
бы кто-нибудь знает, что делать? Кажется довольно простой usecase, но я не мог найти помощь, которая мне нужна через Google, GitHub или SO ...
любой прогресс в этом? –
Nop, но с тех пор я меняю свой рабочий процесс, я знаю, что вместо глотания я использую глоток, и я не полагаюсь на эту функцию. Существует [gulp-useref] (https://github.com/jonkemp/gulp-useref), который делает то, что сделал grunt-usemin, но я не уверен, что он решает эту конкретную проблему. Поскольку я не полагаюсь на это, я не планирую придумывать свое собственное решение/реализацию. –
Для этого есть исправление: https://github.com/buddhike/grunt-usemin/commit/daefa9eb9ac498a17090008c48fb7392ab82d359#commitcomment-6062680, но, к сожалению, еще никто не объединил его. –