Итак, я использую knockout.js для привязки данных для конкретного расширения chrome, над которым я работаю. Я думал, что может иметь смысл перейти к структуре (например, Angular). После использования npm для установки всех зависимостей для моего углового, папка node_module имеет более 100 МБ. Это, очевидно, слишком велико, чтобы содержать в расширении chrome и устанавливать на каждом компьютере пользователя. Любые рекомендации о том, как я должен использовать Angular для моего расширения таким образом, чтобы на компьютерах клиента не требовалось сотни МБ файлов?Использование Angular.js для расширения Chrome
ответ
Там нет необходимости включать bower_components или node_modules папку в Extension Chrome. Попробуйте использовать Grunt/Gulp для минимизации.
Ваш репозиторий должен в идеале содержать папку dist, которая содержит готовое состояние вашего продления. Когда вы загружаете свое расширение в Интернет-магазин Chrome, вы должны создать ZIP этой папки.
Используйте ниже рубаки плагинов для оптимизации приложения,
grunt-usemin - извлечет все таблицы стилей или скриптов из index.html, и объединить их в единый CSS или JS-файла, так что вам не придется беспокоиться о папке node_modules или bower_components.
grunt-contrib-uglify - будет обрезать/уменьшить файл JS.
Вкратце, обработайте расширение Chrome как любое производство в реальном мире. Угловое приложение, которое обычно содержит папку распространения, содержащую оптимизированную версию вашего кода. Вы будете развертывать содержимое в этой папке для производства, а не весь репозиторий.
Вы можете обратиться к расширению Chrome, с которым я работал, с именем Автоматизация браузера Tookit на Github. Вы можете проверить Gruntfile.js и папку dist для дальнейшего ознакомления.
При использовании НПМ на стороне клиента зависимостей следует включать только DIST файлы. (Угловые например - /node_modules/angular/angular.js)
Обычно эти файлы имеют вес всего несколько килобайт. Лучше использовать версию миниатюрного пакета в производстве, если они выставляют такие (/node_modules/angular/angular**.min**.js) или минимизируют ее сами, вы можете использовать для нее любой бегун задачи (grunt/gulp)
Кроме того, я настоятельно рекомендую вам не изобретать велосипед и начать с YEOMAN genrator или семени проекта, как: https://github.com/yeoman/generator-chrome-extension
- 1. Доступны ли расширения расширения Chrome для расширения?
- 2. Метрики для расширения Chrome
- 3. Расширения Chrome для бесшумной печати?
- 4. API расширения расширения Chrome?
- 5. Расширения расширения Chrome DOM
- 6. Настройки расширения Chrome Chrome
- 7. Использование расширения Google Chrome с Rails
- 8. chrome.windows undefined для расширения Chrome
- 9. indexdb для расширения google chrome
- 10. Ошибка JavaScript для расширения Chrome
- 11. Анализ Flash для расширения Chrome
- 12. OAuth2 поток для расширения Chrome
- 13. Страница приложения для расширения Chrome
- 14. Поддержание переводов для расширения Chrome
- 15. Установить NativeHost для расширения Chrome
- 16. Использование jQuery, загружаемого из расширения Chrome в консоли Chrome
- 17. Почему расширение расширения расширения Chrome Chrome при вводе автозаполнения предложения?
- 18. Использование nosql для расширения браузера?
- 19. Доступ к скрипту расширения расширения Chrome для расширения кадра
- 20. Использование расширения Chrome для изменения результата поиска Google Page
- 21. Использование стильного расширения chrome для переопределения этого шрифта
- 22. Создание расширенного расширения Chrome Chrome
- 23. Значок расширения расширения Chrome отсутствует
- 24. Свойства расширения Chrome для каждой вкладки
- 25. Безопасность. Используйте расширения chrome только для разработки.
- 26. Частные расширения Chrome для бизнес-интрасети
- 27. API для перевода Google для расширения Chrome
- 28. Native сообщений расширения Chrome
- 29. Обновить вкладки расширения Chrome
- 30. Offline Расширения Google Chrome
Спасибо за рекомендации ... работал большой! –
@kensplanet есть ли какая-нибудь причина использовать хрюкать по глотку с расширением хром? что вы думаете? –
@NikitaChernykh Нет особых причин использовать Grunt over Gulp в Angular 1.xxx. Если вы используете Angular 4, Webpack поддерживается по умолчанию. – kensplanet