dom.i2svg () в Font Awesome 5 не работает - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь создать подмножество только значков Font Awesome, которые мы используем на одном из наших сайтов, используя этот метод , и оно будет работать.

Хотя размер пакета уменьшается, сценарий Font Awesome, похоже, замедляет работу сайта. Я думаю, это связано с тем, что функция dom.watch () наблюдает за изменениями на странице. Никаких изменений не произойдет и будет много DOM-узлов, так что на самом деле, я просто хочу, чтобы значки загружались после загрузки страницы.

https://fontawesome.com/how-to-use/with-the-api/methods/dom-watch

https://fontawesome.com/how-to-use/with-the-api/methods/dom-i2svg

Из документов, я полагаю, я мог бы вызвать dom.i2svg (), но это приводит к ошибке в браузере: «dom.i2svg () не определен».

Когда я использую dom.watch (), значки отображаются, а когда я console.log (dom), он показывает Функции i2svg () и watch () находятся в объекте, поэтому я не понимаю, почему i2svg () не определена.

Я использую накопительный пакет. js для создания пакета и также использовал пакет -bundler с тем же результатом.

Вот мой основной. js файл, который я собираю.

import { dom, library, config } from '@fortawesome/fontawesome-svg-core'

import { 
        faCamera,
        faStar,
        faStarHalf,
        faSearch,
        faExternalLinkAlt,
        faAngleRight,
        faAngleDown,
        faPlay,
        faPhone,
        faExternalLinkSquareAlt,
        faAngleUp,
        faCommentAlt        
       } from '@fortawesome/free-solid-svg-icons'

import { 
         faTwitter,
         faYoutube,
         faInstagram,
         faLinkedinIn,
         faFacebookF 
        } from '@fortawesome/free-brands-svg-icons'

import { faChevronCircleDown as falChevronCircleDown,
         faEnvelopeOpenText as falEnvelopeOpenText,
         faMapMarkerAlt as falMapMarkerAlt,
         faPhone as falPhone,
         faCommentAltLines as falCommentAltLines,
         faExternalLink as falExternalLink,
         faExternalLinkAlt as falExternalLinkAlt,
         faExternalLinkSquare as falExternalLinkSquare,
         faExternalLinkSquareAlt as falExternalLinkSquareAlt,
         faHomeAlt as falHomeAlt,
         faCalendarCheck as falCalendarCheck,
         faFileDownload as falFileDownload,
         faFolderOpen as falFolderOpen
        } from '@fortawesome/pro-light-svg-icons'

import { faCommentAltLines as farCommentAltLines } from '@fortawesome/pro-regular-svg-icons';


library.add(faPhone,                    
            faCamera,
            faStar,
            faStarHalf,
            faSearch,
            faAngleRight,
            faAngleDown,
            faPlay,
            faExternalLinkAlt,
            faExternalLinkSquareAlt,
            faAngleUp,
            faTwitter,
            faYoutube,
            faInstagram,
            faFacebookF,
            faLinkedinIn,
            falChevronCircleDown,
            falEnvelopeOpenText,
            falMapMarkerAlt,
            falPhone,
            falExternalLinkSquareAlt,
            falExternalLinkSquare,
            falExternalLinkAlt,
            falExternalLink,
            farCommentAltLines,
            falCommentAltLines,
            falHomeAlt,
            falCalendarCheck,
            falFileDownload,
            falFolderOpen
            );  

// dom.watch();

dom.i2svg()

Если я использую dom.watch, <i class="fas fa-camera"></i> заменяется на SVG, как и ожидалось, но если я вызываю dom.i2svg, я получаю сообщение об ошибке, что функция не определена.

Я пытался исправить это в течение нескольких дней и тоже попросил помощи у ФА, но безуспешно. Любая помощь будет принята с благодарностью. По сути, я хотел бы использовать dom.i2svg (), потому что я предполагаю, что это остановит замедление страницы. Спасибо.

1 Ответ

0 голосов
/ 27 марта 2020

Если команда не будет:

 FontAwesome.dom.i2svg()

Подробнее см .: https://fontawesome.com/v5.0.13/how-to-use/with-the-api/methods/dom-i2svg
Это объясняет: https://fontawesome.com/how-to-use/with-the-api/methods/dom-watch почему дом .watch () работает, но не dom.i2svg ()

...