Fontawesome nie działa, gdy projekt jest zbudowany z grunt
Używam biblioteki czcionek font awesome. Działa, gdy projekt nie jest zbudowany/brzydki z grunt.
Ale kiedy buduję projekt z gruntem, to nie działa. Dostaję ten błąd w konsoli: .../ fonts / fontawesome-webfont.woff?v=4.0.3 404 (Nie znaleziono) / Align = "center" bgcolor = "# e0ffe0 " / cesarz Chin / / align = center / To mój ref w indeksie.html <!-- build:css styles/fontawesome.css -->
<link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css">
<!-- endbuild -->
Jakieś pomysły, co może być nie tak?
Update Muszę skopiować folder / bower_components / font-awesome / fonts to dist / fonts. Należy to zrobić w pliku grunt. Prawdopodobnie pod opcjami "Kopiuj"
copy: {
dist: {
files: [{
expand: true,
dot: true,
cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',
src: [
'*.{ico,png,txt}',
'.htaccess',
'bower_components/**/*',
'images/{,*/}*.{gif,webp}',
'styles/fonts/*'
]
}, {
expand: true,
cwd: '.tmp/images',
dest: '<%= yeoman.dist %>/images',
src: [
'generated/*'
]
}]
},
Ale nie wiem, gdzie to uwzględnić. 15 answers
Miałem ten sam problem. Poniższy kod rozwiązał mój problem.
copy: {
dist: {
files: [{
expand: true,
dot: true,
cwd: '<%= config.app %>',
dest: '<%= config.dist %>',
src: [
'*.{ico,png,txt}',
'.htaccess',
'images/{,*/}*.webp',
'{,*/}*.html',
'styles/fonts/{,*/}*.*'
]
},{
expand: true,
dot: true,
cwd: 'bower_components/bootstrap/dist', // change this for font-awesome
src: ['fonts/*.*'],
dest: '<%= config.dist %>'
}]
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-08 14:15:42
Jeśli używasz SASS w swoim projekcie, znalazłem prostszy sposób, który nie wymaga zmiany pliku grunt, jeśli ktoś jest zainteresowany:
Http://likesalmon.net/use-font-awesome-on-yeoman-angularjs-projects/
Zasadniczo zawierać te 2 linie na górze głównej.plik scss i czcionki powinny działać.
$fa-font-path: "/bower_components/font-awesome/fonts/";
@import "font-awesome/scss/font-awesome";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-06 17:47:42
Jeśli używasz zestawu zadań complete grunt od yeoman, to useminPrepare
zadanie buduje kombinowany arkusz stylów ze wszystkich arkuszy stylów, które umieściłeś w komentarzu build:css
- tak jak ty. (Zobacz https://github.com/yeoman/grunt-usemin
aby uzyskać dodatkowe informacje) po zakończeniu procesu budowania ten plik-nieco jak " vendor.234243.css " jest kopiowany do folderu style. Dlatego ścieżka dla czcionki nie jest już ważna. Istnieją co najmniej 2 możliwości rozwiązania tego problemu:
-
Możesz usunąć czcionkę-awesom css z bloku
build:css
:<link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css"> <!-- build:css styles/fontawesome.css --> this will be processed by useminPrepare <!-- endbuild -->
Skopiuj czcionki
folder
jako rodzeństwo do folderustyles
przez dodatkowe zadanie grunt w Twoim pliku Grunt.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-13 11:41:41
Udało mi się rozwiązać ten problem, dodając do kopii następujące elementy.dist.Pliki:
{
expand: true,
flatten: true,
src: 'bower_components/components-font-awesome/fonts/*',
dest: 'dist/fonts'
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-06 03:08:09
Spowoduje skopiowanie czcionek tam, gdzie ich potrzebujesz.
copy: {
dist: {
files: [{
expand: true,
dot: true,
cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',
src: [
'*.{ico,png,txt}',
'.htaccess',
'images/{,*/}*.webp',
'{,*/}*.html',
'styles/fonts/{,*/}*.*'
]
}, {
expand: true,
dot: true,
cwd: 'app/bower_components/fontawesome/fonts/',
src: ['*.*'],
dest: '<%= yeoman.dist %>/fonts'
}]
},
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-23 11:11:11
Najprostszym sposobem na to jest przejście do własnej bower.json
i dodanie overrides
właściwości.
{
"name": "xxx",
"version": "x.x.x",
"dependencies": {
...,
"fontawesome": "~4.0.3"
},
"devDependencies": {
...,
},
"overrides": {
"fontawesome": {
"main": [
"./css/font-awesome.css"
]
}
}
}
Będziesz musiał ręcznie kopiować czcionki z folderu fontawesome/fonts
twojego folderu app/fonts
. Nie wymaga edycji Gruntfile
ani SCSS
ani czegokolwiek innego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-08 22:47:44
Moim rozwiązaniem było podejście CDN:
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
Żadna z odpowiedzi nie zadziałała z jakiegoś powodu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-18 13:30:52
Jak odpowiedzialem powyzej to tez mi sie bardzo dobrze sprawdzilo
// Copies remaining files to places other tasks can use
copy: {
dist: {
files: [{
expand: true,
dot: true,
cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',
src: [
'*.{ico,png,txt}',
'.htaccess',
'*.html',
'scripts/components/{,*/}*.html',
'images/{,*/}*.{webp,png,jpg,jpeg,gif}',
'fonts/*',
'styles/fonts/{,*/}*.*',
'services/{,*/}*.json',
'services/mocks/{,*/}*.json'
]
}, {
expand: true,
cwd: '.tmp/images',
dest: '<%= yeoman.dist %>/images',
src: ['generated/*']
}, {
expand: true,
cwd: '.tmp/concat/scripts',
dest: '<%= yeoman.dist %>/scripts',
src: '{,*/}*.js'
}, {
expand: true,
cwd: '.tmp/concat/styles',
dest: '<%= yeoman.dist %>/styles',
src: '{,*/}*.css'
}, {
expand: true,
cwd: '<%= yeoman.app %>',
src: 'styles/Bootstrap/fonts/bootstrap/*',
dest: '<%= yeoman.dist %>'
}, {
expand: true,
cwd: 'bower_components/font-awesome/fonts/',
src: ['*.*'],
dest: '<%= yeoman.dist %>/fonts'
}]
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-27 20:45:30
Oto rozwiązanie: https://stackoverflow.com/a/32128931/3172813
{
expand: true,
cwd: '<%= yeoman.app %>/bower_components/font-awesome',
src: 'fonts/*',
dest: '<%= yeoman.dist %>'
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:33
Nie wiem, co robiłem źle, ale żadne z proponowanych rozwiązań nie zadziałało. Cokolwiek próbowałem, wydanie produkcji (dystrybucji) nie wyświetla ikon.
Skończyło się na użyciu następujących składników: https://github.com/philya/font-awesome-polymer-icons-generator i https://github.com/philya/font-awesome-polymer-icons
Font-awesome-polymer-icons-generator
Uwaga: python needed
Pozwala na Wygeneruj font-awesome SVG zestaw ikon dla ikon (których używasz) w projekcie.
Jako przykład, powiedzmy, że chcę ikony code, line-chart, github-alt
w moich projektach, wtedy wygenerowałbym je w następujący sposób:
./makefaicons.py myappname code line-chart github-alt
Generuje plik build/myappname-icons.html
. Ten plik musi zostać zaimportowany do mojego komponentu, tak jak każdy inny komponent:
<link rel="import" href="<pathToFile>/myappname-icons.html">
Wtedy mogę dostać font-awesome icons jak tak:
<core-icon icon="myappname:line-chart"></core-icon>
Tzn. przedrostek zwykłej czcionki-zajebista nazwa z nazwą, którą podałem przy tworzeniu ikony gotowi.
Font-awesome-polymer-icons
Możesz również zaimportować gotowy pełny zestaw ikon font-awesome:
bower install font-awesome-polymer-icons
Należy pamiętać, że dodaje to 300 + KB do rozmiaru dystrybucji, a autor zauważa, że nie jest to zalecane do użytku produkcyjnego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-27 13:15:45
Jeśli pracujesz z SailsJS i Bower, opracowałem rozwiązanie, które rozwiązuje problemy z czcionkami Fontawesome i Bootstrap.
- upewnij się, że twoje
tasks/config/bower.js
wygląda podobnie do: https://gist.github.com/robksawyer/fc274120aef9db278eec - dodano moduł npm grunt-remove.
- Utwórz
remove.js
plik wtasks/config
: https://gist.github.com/robksawyer/2fcf036fdf02436aa90b - Update file
tasks/register/compileAssets
: https://gist.github.com/robksawyer/fa04a34ea103bead1c61 - zaktualizuj plik
tasks/config/copy.js
do: https://gist.github.com/robksawyer/2aac6d0cdb73bfa8239f
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-21 08:19:03
Edytowałem mój Gruntfile.js jak następuje:
//...
copy: {
dist: {
files: [//... {
expand: true,
dot: true,
cwd: 'bower_components/font-awesome/fonts/',
src: ['*.*'],
dest: '<%= yeoman.dist %>/fonts'
}]
},
app: {
files: [{
expand: true,
dot: true,
cwd: 'bower_components/font-awesome/fonts/',
src: ['*.*'],
dest: '<%= yeoman.app %>/fonts'
}]
}, //...
}
//...
grunt.registerTask('serve', 'Compile then start a connect web server', function (target) {
if (target === 'dist') {
return grunt.task.run(['build', 'connect:dist:keepalive']);
}
grunt.task.run([
'clean:server',
'wiredep',
'copy:app', // Added this line
'concurrent:server',
'autoprefixer:server',
'connect:livereload',
'watch'
]);
});
Używam yeomana 1.4.7 i jego generatora kątowego. Bardzo ważne jest, aby dodać zadanie copy: app, a nie tylko copy: dist (jak sugerowano powyżej). Jeśli nie dodasz copy:app po wpisaniu grunt serve
, to nie zadziała. Z copy:dist rozważasz tylko grunt serve:dist
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-02 18:44:54
Miałem ten sam problem. Zajrzałem do bowera.plik json dla font-awesome i znalazłem to:
{
"name": "font-awesome",
"description": "Font Awesome",
"keywords": [],
"homepage": "http://fontawesome.io",
"dependencies": {},
"devDependencies": {},
"license": ["OFL-1.1", "MIT", "CC-BY-3.0"],
"main": [
"less/font-awesome.less",
"scss/font-awesome.scss"
],
"ignore": [
"*/.*",
"*.json",
"src",
"*.yml",
"Gemfile",
"Gemfile.lock",
"*.md"
]
}
Nie było odniesienia do " font-awesome.css "w tablicy "main". Być może, tak jak ja, nie używasz SASS lub mniej do stylizacji. Więc nie są dodawane style dla font-awesome. Zmodyfikowałem plik json w następujący sposób:
{
"name": "font-awesome",
"description": "Font Awesome",
"keywords": [],
"homepage": "http://fontawesome.io",
"dependencies": {},
"devDependencies": {},
"license": ["OFL-1.1", "MIT", "CC-BY-3.0"],
"main": [
"less/font-awesome.less",
"scss/font-awesome.scss",
"css/font-awesome.css",
"fonts/fontawesome-webfont.tff",
"fonts/fontawesome-webfont.woff",
"fonts/fontawesome-webfont.woff2"
],
"ignore": [
"*/.*",
"*.json",
"src",
"*.yml",
"Gemfile",
"Gemfile.lock",
"*.md"
]
}
Zapisałem i uruchomiłem grunt serve, a teraz pojawiają się moje ikony Font-awesome.
Mam nadzieję, że to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-25 03:55:42
Dla tych, którzy używają Google App Engine
, zadziałało dla mnie:
Dodaj do Gruntfile.js
:
copy: {
build_font_awesome: {
files: [
{
expand: true,
flatten: true,
src: 'vendor/components-font-awesome/fonts/*',
dest: '<%= build_dir %>/fonts'
}
]
},
compile_font_awesome: {
files: [
{
expand: true,
flatten: true,
src: 'vendor/components-font-awesome/fonts/*',
dest: '<%= compile_dir %>/fonts'
}
]
}
}
Używam mniej więc zaimportowałem font-awesome.less
dodając to do mojego pliku main.less
.
@import '../../vendor/components-font-awesome/less/font-awesome.less';
Potem dodałem to do mojego pliku app.yaml
.
handlers:
- url: /fonts
static_dir: static/fonts
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-30 08:04:04
Witam główny problem polega na tym, że pliki czcionek wymagane przez font-awesome css nie zostaną skopiowane po uruchomieniu zadania grunt i możesz uzyskać błąd 404 not found to samo można zweryfikować, jeśli otworzysz tryb programisty chrome i zajrzysz na kartę consoe lub networks. Ten sam problem może wystąpić również w przypadku bootstrap.
Dlatego musimy zmodyfikować zadanie grunt tak, aby wszystkie pliki czcionek zostały skopiowane.
Dodaj oddzielne zadanie kopiowania plików czcionek .
copy: {
dist: { .....
},
fonts: {
expand: true,
flatten: true,
cwd: '.',
src: ['bower_components/bootstrap/fonts/*', 'bower_components/font-awesome/fonts/*'],
dest: '<%= yeoman.dist %>/fonts',
filter: 'isFile'
},
styles: { .......
}
}
Zarejestruj 'copy: fonts' zadanie w grunt.registerTask tak, że zostanie wykonana w czasie budowy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-10 20:12:40