Система иконок SVG с angular-cli

У меня есть проект angular2, который был создан через angular-cli. В веб-пакете есть загрузчик для загрузки спрайта svg, а также для генерации этого спрайта из списка svgs. Но как я могу использовать эту функциональность в моем текущем проекте, когда angular-cli не позволяет мне изменить webpack.config?

Благодарю.

1 ответ

Решение

Используйте svg-sprite

1. npm install --save-dev svg-sprite

2. Положите ваши SVG в src/svgs

3. Добавить sprite-config.json в корень вашего проекта

{
    "dest": "src/",
    "mode": {
        "css": {
            "dest": "sprites",
            "render": {
                "scss": {
                    "dest": "_sprite.scss"
                }
            }
        }
    }
}

4. Добавьте скрипт в package.json

"sprites": "svg-sprite --config sprite-config.json src/svgs/*.svg"

5. Добавить @import к вашей главной styles.scss

@import './sprites/sprite';

6. Запустите скрипт, используя npm run sprites

Необязательно: создайте скрипт сборки

Добавьте это в свои сценарии, чтобы создать за один шаг

"start": "npm run sprites && ng serve",
"build": "npm run sprites && ng build --prod"
Другие вопросы по тегам