Современная сборка 2020 для frontend. Gulp4 / Хабр
Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое большое время. Мы разберем все моменты, чтобы новичок мог себе скачать эту сборку и начать с ней работать.
Не только древность моей сборки мотивировала на эту статью, но и еще одна причина: мне больно смотреть, когда заходят на онлайн-сервисы для конвертации scss
, минификации javascript
и других рутинных задач. Самое забавное — когда сделали мелкую правку, снова нужно проходить все круги ада копипаста.
Перед тем, как вы начнете читать, хочу сказать, что материала очень много, поэтому писал только основное. Слишком очевидных вещий старался не писать, но хотел, чтобы смог понять каждый новичок. Если будут непонятные моменты, то смело переходите по ссылкам и читайте более подробную информацию, а потом снова возвращайтесь к статье. Можете задавать вопросы в комментариях, всем постараюсь ответить.
Gulp
Начнем с главного в нашей сборке.
Gulp — это наш фундамент, потому что он будет управлять всеми нашими задачами, другими словами, taskmanager
. Концепция задач очень проста. Название асинхронной javascript функции равно названию задачи, и работает она по принципу: берет данные, трансформирует их и записывает результат.
Пример минификации сss
Как видим, все просто: называем нашу задачу css
, вызываем функцию src
, которая берет данные по определенному шаблону и передает данные по трубе (функция pipe()
). Внутри pipe
вызываем функцию плагина, которая трансформирует наши данные и результат передает функцию dest
. dest
— записывает результат по указанному пути.
С pipe
можно выстраивать любые цепочки.
Пример
В четвертой версии много чего изменилось, но на что нужно точно обратить внимание — это на gulp.series()
gulp.parallel()
. Позже мы разберем параллельное выполнение задач.Как вы заметили, в примерах я экспортировал функции, в старом API использовали gulp.task()
:
gulp.task('taskName',function() {
//do somethings
})
Больше не рекомендуется использовать gulp.task()
.
Экспортирование функций позволяет разделять на публичные и приватные задачи.
публичные задачи
— экспортируются из вашего gulpfile, что позволяет запускать их командой gulp.приватные задачи
— создаются для внутреннего использования, как правило, в составеseries()
илиparallel()
Пару слов о шаблонах поиска файлов в функции src
.
templates/*.html
— ищет файлы с расширениемhtml
в папкеtemplates
templates/**/*.html
— ищет файлы с расширениемhtml
во всех папках, которые вtemplates
Более подробная информация здесь, здесь и здесь.
После того, как мы разобрались с фундаментом нашего проекта, начнем делать первые шаги. Проверяем, установлены ли node.js
и npm
.
Команды в консоли
Если они не установлены, следуйте инструкциям здесь.
Создаем папку для нашего проекта. Внутри инициализируем npm npm init --yes
Ключ --yes
означает автоматические ответы вопрос по проекту.
Создадим три папки:
build
— оптимизированные файлы для использования на сервереsrc
— рабочая папка, где будут храниться все наши исходникиgulp
— здесь будут храниться наши tasks
Еще добавим файл .gitignore
, чтобы системные файлы не попадали в репозиторий.
Папка /build
задокументирована, потому что часто использую
для демонстрации работы.
Не забудьте установить gulp: npm install --save-dev gulp
.gitignore
# Файлы и папки операционной системы
.DS_Store
Thumbs.db
# Файлы редактора
.idea
*.sublime*
.vscode
# Вспомогательные файлы
*.log*
node_modules/
# Папка с собранными файлами проекта
# build/
HTML
У НTML сильно громоздкий синтаксис, и при большой вложенности тегов сложно разобрать код. Еще одна проблема в том, что многие забывают закрывать теги. Можно возразить, что сейчас умные IDE без проблем индицируют эти проблемы, но, как правило, новички не обращают внимания, что там им говорит IDE, и еще грешат форматированием кода.
Пример немного не реалистичный, но почти такое делают
Все наши проблемы решает Pug. Одного примера будет достаточно, чтобы понять, как его использовать. Не понимаю, почему этот плагин еще повсюду не используют.
Пример базового функционала
Новичкам советую обратить внимание еще на несколько возможностей:
Разделение на модули
— удобно, когда используешь БЭМ: один блок — один файл. Подробнее.
Пример из документации
Миксины
— удобно использовать для однотипных блоков. Например, карточки товаров или комментариев. Подробнее.
Пример с документации
Пример с документации
За последнее время сильно ничего не изменилось, только название с Jade
на Pug
. Подробнее.
Разделяем HTML
На нашем сайте будут две тестовые страницы about
и index
. Структура на страницах повторяется: есть блоки <footer>
, <header>
, <head>
. Поэтому все нужно вынести в отдельные файлы модули.
Структура проекта
Разберем все более подробно.
pages
— папка для наших страниц, где в корне хранятся непосредственно страницыcommon
— хранятся общие блоки для всех страницincludes
— хранятся модули страниц, где внутри еще одна папка, которая соответствует названию страницы
Пройдемся по файлам:
layout.pug
— шаблон, который хранит основную структуру, и от него наследуются все другие страницы
layout.pug
index.pug
иabout.pug
— наши страницы, которые наследуются от шаблона и подключают свои контентные модули
pages/index.pug и pages/about.pug
Еще, обратите внимание, у pug
есть комментарии, которые попадают в html
и которые нет. Подробнее здесь.
Установим плагин gulp-pug для компиляции наших шаблонов. Выполните в консоли команду: npm i gulp-pug
Создадим файл pug2html.js
в папке gulp/tasks
.
pug2html.js
Здесь все понятно: ищем файлы по указанному пути, компилируем и результат выгружаем в папку build
. Еще добавим pug-linter, чтобы новички не косячили и сохраняли единый стиль написания кода. Для конфигурации создадим файл .pug-lint.json
в корне проекта. Правила для линтера писал на свой вкус. Вы без проблем сможете изменить. Список правил.
Теперь подключаем нашу задачу в файле gulpfile.js
.
gulpfile.js
Здесь мы создаем серию с одной таски с названием start
; потом мы добавим ещё. Теперь в консоли выполните команду gulp start
, и в папке build
должны появиться два файла: index.html
и about.html
.
Еще добавим gulp-w3c-html-validator, чтобы не было нелепых ошибок. Вы, наверное, догадались, что порядок подключения плагинов c помощью
очень важен. То есть перед тем, как вызвать плагин pug()
для компиляции, нужно сделать валидацию плагином pugLinter()
, а плагин gulp-w3c-html-validator
подключаем после pug()
, потому что нам нужно валидировать скомпилированный html
.
Последний плагин gulp-html-bem-validator — самописный плагин, сделал на скорую руку, потому что не смог найти аналогов. Очень маленький функционал, думаю, со временем буду улучшать.
Пример работы плагина
Финальный код таски pug2html.js
Для стилей мы будем использовать Scss. Все дается по аналогии с задачей pug2html
. Создаем новую папку styles
и скачиваем нужные пакеты npm install node-sass gulp-sass --save-dev
.
Дальше пишем задачу, как и делали раньше. Берем файлы, передаем в плагин и потом сохраняем результат.
tasks/styles.js
Дальше мы добавим вспомогательные плагины: npm i gulp-autoprefixer gulp-shorthand gulp-clean-css gulp-sourcemaps stylelint gulp-stylelint stylelint-scss stylelint-config-standard-scss stylelint-config-standard stylelint-config-htmlacademy
Пройдемся по каждому плагину:
- gulp-autoprefixer — автоматическая расстановка префиксов для старых браузеров.
- gulp-shorthand — сокращает стили.
Пример
Файлы styles:
Структура папки styles
global.scss
media.scss
Немного обсудим файл media.scss
. Есть два варианта организации медиа-запросов.
- Писать медиа-запросы ко всему блоку в конце файла.
- Писать медиа-запросы в самом селекторе, используя
@mixin
и@include
.
Пример второго варианта
Я поклонник второго варианта, удобно, когда все стили в одном месте, и не нужно никуда скроллить и ничего искать.
Последний шаг: подключим normalize.css. Установим командой npm install normalize.css
и добавим @import "../../../node_modules/normalize.css/normalize";
в начале файла global.scss
Зачем нужен normalize.css?
Все делаем так же, как и с другими тасками, только подключаем другие плагины.
Установим сначала все необходимые зависимости npm i gulp-babel @babel/core @babel/preset-env --save-dev
и зависимости для eslint npm install eslint eslint-config-htmlacademy eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node --save-dev
Пример
- gulp-terser — минификация и оптимизация javascript.
Задача script
- eslint — мы уже знаем, что делают линтеры. Решил подключить готовые конфиги, потому что очень много разных правил, чтобы все настраивать с нуля.
.eslintrc.json
Устанавливаем плагины npm i gulp-imageMinify gulp-svgstore
Для картинок используется банальный код, который вы уже на данном этапе без проблем можете понять.
Шрифты мы просто копируем.
Не вижу смысла объяснять, как делать svg спрайты, когда в интернете много статей. Вот одна из них.
Чтобы каждый раз не обновлять страницу при изменении файла, подключим browser-sync. У gulp есть встроенная функция, которая следит за изменениями и вызывает нужные нам функции. Советую зайти и почитать о возможностях browsersync. Мне очень нравится возможность открытия сайта и синхронизации прокрутки страницы на нескольких устройствах. Очень удобно верстать адаптивные сайты: открыл на компьютере, открыл на телефоне — и сразу видишь результат.
Наш локальный сервер. Задача serve
Бывает такое, что сделал опечатку, сохранил код и сборка падает с ошибкой. Нужно снова перезапускать сборку, и со временем это может начать раздражать, поэтому установим
. Plumber будет перехватывать ошибки, и после устранения ошибки сборка восстановит работоспособность. Интегрировать его очень просто, добавляем его первым .pipe(plumber())
в наших трубопроводах цепочках pug2html
и styles
.
Во время разработки мы будем создавать и удалять файлы. Так как у нас live reload
, то созданные файлы автоматически попадут в build
. Когда чуть позже мы решим удалить файл, то он останется в папке build
, поэтому сделаем еще одну задачу clean
, которая будет удалять папку. Установим плагин npm install del
. Del.
const del = require('del')
module.exports = function clean() {
return del('build')
}
Главное — не забыть вызвать функцию-callback, которая сообщит gulp, что задача выполнена.
Lighthouse
Lighthouse — решение для веб-приложений и веб-страниц, которое собирает современные показатели производительности.
Кстати, некоторые заказчики смотрят на эти показатели, так как не знают других способов оценить качество верстки.
Вы можете возразить, зачем ради одной странички заморачиваться, но в реальных проектах их может быть больше 10.
Скрин с реального проекта
Устанавливаем npm i --save-dev gulp-connect lighthouse chrome-launcher
и создаём задачу.
Результат для каждой странички будет генерироваться в папку ./reports
. Там будут ‘html’ файлы, они открываются автоматически, но вы сами в любой момент можете их открыть и посмотреть результат.
На первый взгляд может показаться, что лучше запустить несколько страниц на тестирование, но этого нельзя сделать в одном запущенном процессе хрома, а если запустить несколько процессов паралельно, то результаты могут быть очень неточные.
lighthouse.js
Кода многовато, но он простой. Запустили наш локальный сервер с помощью browser-sync
, потом хром и в конце lighthouse
, где говорим, по какому url
искать наш сайт.
В нашей команде есть правило, что все dependencies
нужно загружать в репозиторий. Это было связано с тем, что иногда может пропасть интернет в стране. Вручную скачивать пакеты с сайтов и загружать их в папку не очень удобно, ещё сложно следить за версиями пакетов, и каждый раз из node_modules обновлять также не очень удобно, поэтому мы должны оптимизировать этот процесс.
gulp-npm-dist — очень хороший плагин, мне он нравится тем, что он не просто копирует всю папку модуля, а только нужные файлы. README.md
, LICENSE
, .gitignore
и другие конфигурационные файлы не копируются.
Теперь сделаем, чтобы при изменении package.json
вызывался плагин. Не вижу смысла сильно заморачиваться и следить только за изменениями объекта dependencies
, поэтому будем просто следить за файлом.
Последняя оптимизация. Часто сложно и лень запоминать консольные команды, там много параметров, вводить все эти пути занимает время,
поэтому запишем длинные команды в более краткие команды.
Рассмотрим такую ситуацию: вы скопировали большой кусок кода с постороннего ресурса, и
он не соответствует вашим правилам форматирования.
Не будете же вы всё править руками? Можно просто в консоли ввести команду, которая все исправит
за вас stylelint ./src/styles/**/*.scss --fix --syntax scss
, команда длинная, поэтому запишем ее в NPM-скрипт
Добавили NPM-скрипт
Как видим на скрине, теперь в консоли можно вводить npm run stylelint-fix
.
Напишем еще несколько команд:
npm run start
— вместоgulp
, привык, что любой проект у меня запускается этой командойnpm run build
— вместоgulp build
, такая же ситуация, как в прошлом пунктеnpm run lighthouse
— вместоgulp build && gulp lighthouse
, сначала собираем проект, а потом уже тестируемnpm run test
— запуск разных линтеров, хорошей практикой будет запускать перед комитом
Не верю я, что вы будете перед комитом запускать npm run test
, даже не верю, что я буду. Поэтому скачаем husky и добавим:
"husky": {
"hooks": {
"pre-commit": "npm run test"
}
}
в package.json
. Если npm run test
вернет ошибку, то комит не будет сделан.
Очень приятно, если вы прочли всю статью и сумели принять мои мысли. Отвечу на вопросы в комментариях и жду ваших pull requests
и issue
. Всем приятных сборок.
Ссылка на репозиторий с тем, что у нас получилось: github.
Что такое Gulp и зачем это нужно.
В этом небольшом видео хотел представить интересный инструмент для веб-разработки, который называется Gulp. Давайте будем знакомиться с этим инструментом, что это такое и зачем это нужно.
Официальный сайт Gulp:
https://gulpjs.com
Вы можете обращаться на него, если вам будет нужна официальная документация к этой системе.
Ну, и что же такое Gulp?
Gulp — это инструмент для автоматизации рутинных задач, которые возникают при веб-разработке. Это может быть не только frontend разработка, это может быть и backend разработка.
Если вы работаете с такими технологиями как html, css, javascript и.т.д. Если вы внедрите в практику своей работы такой инструмент как gulp, вы значительно ускорите скорость вашей работы и, во вторых, этот инструмент «откроет вам дорогу» к новым возможностям, которые значительно повысят ваш уровень веб-разработки и знаний.
Gulp — это просто программа, которая написана на языке программирования Javascript. Для того, чтобы начать его пользоваться, желательно знать, хотя бы основы языка Javascript. Если вы это знаете, то пользоваться программой Gulp для вас будет намного проще.
Смысл следующий: мы создаем для системы Gulp некие задания. Т.е. описываем эти задания на языке Javascript. Затем, Gulp просто выполняет эти задания в нужной последовательности, так, как мы это прописали. Т.е. Gulp — это просто система по управлению заданиями по веб-разработке. Также ее называют task manager. task — задание, manager — управлять.
Важно понимать, что Gulp — это просто некое ядро, к которому мы прикручиваем дополнительные модули, плагины, которые «учат» Gulp делать какую-то определенную функцию или работу. Устанавливая эти плагины мы получаем новые возможности в системе Gulp, которые мы можем использовать.
Если вернуться на официальную страницу сайта Gulp и перейдем в раздел Plugins, то здесь мы можем найти большое количество плагинов, которые позволяют нам выполнять какие-то определенные рутинные задачи.
Выбираем нужный плагин, устанавливаем его в эту систему и пользуемся им.
Какие типовые задачи можно решать с помощью этой системы?
Давайте рассмотрим самые основные из них. Список этих задач может быть достаточно большой.
Задача 1. Минификация кода.
Это одна из самых частых задач, для которой чаще всего используют Gulp и подобные ей системы — это задача минификации кода. Т.е. вы написали какой-то код, на каком-то языке программирования. Для вас этот код воспринимается хорошо, но, если вы разместите этот код на рабочем сервере, на котором будет размещаться ваш сайт, то, соответственно, этот код будет загружаться довольно долго из-за того, что в нем есть много лишней информации в виде отступов, комментариев и.т.д.
Gulp позволяет убрать все лишнее из кода, подготовить его для того, чтобы это можно было выложить на рабочий сервер.
Задача 2. Объединение кода из разных файлов в один.
Вы можете объединять код из CSS, Javascript файлов и.т.д. в один. Это важно сделать также по причине скорости загрузки документа. При работе с протоколом http каждый запрос к файлу — это дополнительное время загрузки страницы.
Если вы объединяете код в один файл, загрузить его проще и быстрее, чем загрузить несколько файлов.
Это типовая задача, которую приходится решать в современной веб-разработке. Написать программу намного проще, если ее код разбит на модули и независимые части.
Задача 3. Работа с CSS препроцессорами: sass, less, …
Система Gulp позволяет вам использовать их в своей работе и вы получите такой мощный инструмент для того, чтобы улучшить свои навыки веб-разработки.
Задача 4. Поддержка новых стандартов языка Javascript.
Т.к. язык Javascript является клиентским языком программирования, то он зависит того браузера, на котором будет работать. Если посетитель вашего сайта пользуется какими-то старыми браузерами, у него новые стандарты не будут работать. С помощью Gulp вы можете решить эту задачу.
Gulp — это не единственный инструмент, который позволяет решать такие подобные задачи. Важно понимать, что Gulp — это одно из самых простых и легких решений, которые позволяют это сделать.
Код написанный под Gulp интуитивно понятный и проект, который у вас будет получаться, достаточно компактный и удобный. В нем будет все самое необходимое, что нужно для веб-разработки.
Есть и другие решения, например, система Webpack, которая в последнее время приобретает большую популярность. Но, дело в том, что Webpack — это довольно громоздкая система и для решения каких-то простых задач устанавливать такую большую систему не очень разумно.
Gulp — это альтернатива, которая позволит вам решать эти задачи проще и быстрее.
«ГАЛП» — slova365.ru — расшифровка любых сокращение!
Расшифровка аббревиатуры:
«ГАЛП»Московская государственная академия лёгкой промышленности
Транскрипция сокращения: Транслитерация: GALP Grupos Abertzales de Liberación del Puebloперевод: Группы Abertzales национально-освободительная
Good Automated Library Practices
перевод: Хороший Автоматизированный Практики Библиотека
Good Automated Laboratory Practices
перевод: Хороший Автоматизированной Лабораторной Практики
Games Argumentation and Logic Programming
перевод: Игровая аргументация и логическое Программирование
Случайное сокращение: «Леноблсуд» Расшифровка аббревиатуры: «Леноблсуд» Ленинградский областной суд Транскрипция сокращения: … Случайное сокращение: «УиИТС» Расшифровка аббревиатуры: «УиИТС» управление и информатика в технических системах Транскрипция сокращения: … Случайное сокращение: «РТ СГУ» Расшифровка аббревиатуры: «РТ СГУ» Транскрипция сокращения: … Случайное сокращение: «ИвПЭК» Расшифровка аббревиатуры: «ИвПЭК» Ивановский промышленно-экономический колледж Транскрипция сокращения: … Случайное сокращение: «ДЦП» Расшифровка аббревиатуры: «ДЦП» детский церебральный паралич дискретно-цифровой преобразователь долгосрочная целевая программа Транскрипция сокращения: Data Co … Случайное сокращение: «НТПП» Расшифровка аббревиатуры: «НТПП» Новороссийская торгово-промышленная палата Новгородская торгово-промышленная палата Новосибирская торгово-промышленная палат … Случайное сокращение: «РЭПЗ» Расшифровка аббревиатуры: «РЭПЗ» Российская экологическая партия «Зелёные» Транскрипция сокращения: … Случайное сокращение: «госпартия» Расшифровка аббревиатуры: «госпартия» государственная партия Транскрипция сокращения: … Случайное сокращение: «ВСЖКО» Расшифровка аббревиатуры: «ВСЖКО» Всемирный совет женских католических организаций Транскрипция сокращения: … Случайное сокращение: «ТППС» Расшифровка аббревиатуры: «ТППС» «Трансатлантические партнёры против СПИДа» техническая позиция подготовки самолётов к полётам тормозная посадочная парашютная …Я помню первый галп-конфиг… · GitHub
Я помню первый галп-конфиг… · GitHubInstantly share code, notes, and snippets.
Я помню первый галп-конфиг…
Я помню первый галп-конфиг, | |
То бы не просто инструмент. | |
Как будто что-то я постиг, | |
Ворвался во всеобщий тренд. | |
Прощай консольный компилятор sass, | |
Прощай рутинный спрайто-генератор, | |
Прощай дублированный html-каркас, | |
Ведь есть теперь шаблонизатор. | |
И я тогда наивно думал, | |
Что будет вечно мой конфиг | |
Служить на пользу мне и людям | |
С ним будем сайты воротить. | |
Как ошибался я тогда | |
Ведь нет на свете вечных инструментов | |
Пришел Шон Ларкин, показал вебпак | |
Все перешли без сентиментов. | |
Я помню первый галп-конфиг, | |
Забыть тебя мне будет сложно. | |
Ты уж прости меня, старик. | |
Еще увидимся возможно. |
отзывы, фото и характеристики на Aredi.ru
Мы доставляем посылки в г. Калининград и отправляем по всей России
- 1
Товар доставляется от продавца до нашего склада в Польше. Трекинг-номер не предоставляется.
- 2
После того как товар пришел к нам на склад, мы организовываем доставку в г. Калининград.
- 3
Заказ отправляется курьерской службой EMS или Почтой России. Уведомление с трек-номером вы получите по смс и на электронный адрес.
!
Ориентировочную стоимость доставки по России менеджер выставит после оформления заказа.
Гарантии и возврат
Гарантии
Мы работаем по договору оферты, который является юридической гарантией того, что мы выполним
свои обязательства.
Возврат товара
Если товар не подошел вам, или не соответсвует описанию, вы можете вернуть его, оплатив
стоимость обратной пересылки.
- У вас остаются все квитанции об оплате, которые являются подтверждением заключения сделки.
- Мы выкупаем товар только с проверенных сайтов и у проверенных продавцов, которые полностью отвечают за доставку товара.
- Мы даем реальные трекинг-номера пересылки товара по России и предоставляем все необходимые документы по запросу.
- 5 лет успешной работы и тысячи довольных клиентов.
Яндекс Дзен | Открывайте новое каждый день
Яндекс Дзен | Открывайте новое каждый деньЯндекс.Дзен – это платформа, которая подбирает контент специально для вас. В Дзене есть статьи и видео на разные темы от блогеров и медиа.
Ваш личный Дзен
Дзен понимает ваши интересы и собирает ленту для вас. Он анализирует действия: что вы смотрите, кому ставите лайки, на кого подписываетесь, а после – рекомендует вам и уже любимые источники, и ещё неизвестные, но интересные публикации.
Вы смотрите и ставите лайки
шаг 1
Алгоритм отслеживает это и подбирает контент
шаг 2
Вы видите интересные именно вам материалы
шаг 3
Интересные истории
В Дзене есть популярные медиа и талантливые блогеры. Ежедневно они создают тысячи историй на сотни разных тем. И каждый находит в Дзене что-нибудь для себя.
Примеры публикаций
В Дзене действительно много уникальных статей и видео. Вот несколько примеров популярного сейчас контента.
Дзен — простой, современный и удобный
Посмотрите на главные возможности сервиса и начните пользоваться всеми преимуществами Дзена.
Читайте о своих интересах.
Алгоритмы Дзена понимают, что вам нравится, и стараются показывать только то, что будет действительно интересно. Если источник вам не подходит — его можно исключить.
1/4
Тематические ленты.
С общей ленты со всеми статьями легко переключайтесь на тематические: кино, еда, политика, знаменитости.
2/4
Разнообразные форматы.
Открывайте разные форматы историй для чтения и общения. В приложении удобно читать статьи и смотреть видео, писать комментарии.
3/4
Оставайтесь в курсе событий!
Возвращайтесь к нужным статьям: добавляйте статьи в Сохранённое, чтобы прочитать их позже или сохранить в коллекции. Настройте уведомления, чтобы не пропустить самое интересное от любимых блогеров, медиа и каналов.
4/4
Читайте о своих интересах.
Алгоритмы Дзена понимают, что вам нравится, и стараются показывать только то, что будет действительно интересно. Если источник вам не подходит — его можно исключить.
1/4
Тематические ленты.
С общей ленты со всеми статьями легко переключайтесь на тематические: кино, еда, политика, знаменитости.
2/4
Разнообразные форматы.
Открывайте разные форматы историй для чтения и общения. В приложении удобно читать статьи и смотреть видео, писать комментарии.
3/4
Оставайтесь в курсе событий!
Возвращайтесь к нужным статьям: добавляйте статьи в Сохранённое, чтобы прочитать их позже или сохранить в коллекции. Настройте уведомления, чтобы не пропустить самое интересное от любимых блогеров, медиа и каналов.
4/4
Читайте о своих интересах.
Алгоритмы Дзена понимают, что вам нравится, и стараются показывать только то, что будет действительно интересно. Если источник вам не подходит — его можно исключить.
1/4
Тематические ленты.
С общей ленты со всеми статьями легко переключайтесь на тематические: кино, еда, политика, знаменитости.
2/4
Разнообразные форматы.
Открывайте разные форматы историй для чтения и общения. В приложении удобно читать статьи и смотреть видео, писать комментарии.
3/4
Оставайтесь в курсе событий!
Возвращайтесь к нужным статьям: добавляйте статьи в Сохранённое, чтобы прочитать их позже или сохранить в коллекции. Настройте уведомления, чтобы не пропустить самое интересное от любимых блогеров, медиа и каналов.
4/4
Дзен доступен во всем мире более чем на 50 языках
Смело рекомендуйте Дзен своим друзьям из других стран.
العَرَبِيَّةالعَرَبِيَّةУдобно пользоваться в смартфоне
У Дзена есть приложения для iOS и Android.
Пользуйтесь в браузере
Дзен доступен с любого устройства в вашем любимом браузере. Также Дзен встроен в Яндекс.Браузер.
Удобно пользоваться в смартфоне
У Дзена есть приложения для iOS и Android.
Пользуйтесь в браузере
Дзен доступен с любого устройства в вашем любимом браузере. Также Дзен встроен в Яндекс.Браузер.
Удобно пользоваться в смартфоне
У Дзена есть приложения для iOS и Android.
Пользуйтесь в браузере
Дзен доступен с любого устройства в вашем любимом браузере. Также Дзен встроен в Яндекс.Браузер.
© 2015–2021 ООО «Яндекс», 0+
Дизайн и разработка — Charmer
К сожалению, браузер, которым вы пользуйтесь, устарел и не позволяет корректно отображать сайт. Пожалуйста, установите любой из современных браузеров, например:
Яндекс.Браузер Google Chrome Firefox SafariЭффект от ожирения при интраназальном введении галанин-подобного пептида (галп) мышам с ожирением — научные доклады
Предметы
Аннотация
Галанин-подобный пептид (GALP) обладает эффектом против ожирения у крыс и мышей. Сообщалось, что поглощение GALP мозгом выше после интраназального введения, чем при внутривенном введении. Поэтому это исследование было направлено на выяснение влияния интраназального введения GALP на пищевое поведение мышей с лишним весом и ожирением. Авторадиография показала наличие 125 I-GALP в обонятельной луковице и микроциркуляцию мозга. Вес тела мышей ob / ob постепенно увеличивался во время лечения носителем, но оставался неизменным в ответ на повторное интраназальное введение GALP, при этом у мышей ob / ob и мышей с диетой, вызывающих диету, наблюдалось значительное снижение потребления пищи, потребления воды и двигательной активности при лечении с галпом Эти результаты предполагают, что интраназальное введение является эффективным путем, посредством которого GALP может оказывать свое действие в качестве лекарственного средства против ожирения.
Вступление
Галанин-подобный пептид (GALP) представляет собой нейропептид из 60 аминокислот, который первоначально был выделен из гипоталамуса свиньи с использованием анализа связывания рецепторов галанинов (GALR), которые принадлежат к семейству рецепторов, связанных с G-белком 1 . Последовательность GALP из 9–21 аминокислот идентична последовательности первых 13 аминокислот галанина. Существует три подтипа GALR: GALR1, GALR2 и GALR3. Хотя GALP, по сообщениям, связывает GALR, он снижает потребление пищи и массу тела у мышей, нокаутированных по GALR1 и GALR2, аналогично ситуации у мышей дикого типа 2 . Поэтому возможно, что именно GALR3 опосредует пищевое поведение. Однако сообщалось, что центральное введение агониста GALR2 / 3 не влияет на потребление пищи, массу тела или температуру тела у грызунов 3 . Эти результаты позволяют предположить, что GALP и галанин действуют через различные рецептор-опосредованные пути, чтобы оказывать свое влияние на регуляцию питания. Другими словами, возможно, что GALP опосредует свое действие через еще не идентифицированный рецептор GALP.
В то время как продуцирующие GALP нейроны присутствуют в дугообразном ядре гипоталамуса у крыс, мышей и макак 4, 5, 6, их распределение в мозге человека неизвестно. Более 85% GALP-содержащих нейронов экспрессируют рецептор лептина 7, при этом внутрицеребровентрикулярная инфузия лептина повышает количество нейронов, экспрессирующих мРНК GALP. Напротив, экспрессия мРНК GALP в головном мозге заметно снижается у мышей ob / ob с дефицитом лептина, у мышей db / db с дефицитом рецептора лептина и у жирных крыс Цукера по сравнению с животными дикого типа 5 . Однако интрацеребровентрикулярная инфузия лептина у мышей ob / ob восстанавливает как количество экспрессирующих мРНК GALP нейронов, так и их содержание мРНК GALP 5 . Эти наблюдения показывают, что экспрессия мРНК GALP индуцируется лептином посредством прямого воздействия на мозг.
У крыс интрацеребровентрикулярная инъекция GALP вызывает дихотомическое действие, которое включает кратковременную гиперфагию, сопровождающуюся гипофагией и снижением массы тела 8, тогда как у мышей только одно действие снижает как потребление пищи, так и массу тела 9 . Внутрицеребровентрикулярный GALP также вызывает дозозависимое повышение температуры тела у крыс и мышей, что указывает на увеличение активации симпатической нервной системы 8, 10 . Эти результаты показывают, что заместительная терапия GALP может представлять собой эффективное лечение ожирения. Недавно было сообщено, что интраназальный лептин снижает потребление пищи и массу тела у животных с ожирением, вызванных диетой 11 . Это демонстрирует, что возможно транспортировать большие молекулы, такие как лептин (16 кДа), в мозг с помощью менее инвазивного подхода, чем внутрицеребровентрикулярная инъекция. С использованием радиоактивно йодированного GALP было также показано, что по сравнению с внутривенным лечением интраназальное введение обеспечивает улучшение в 40-100 раз при нацеливании на мозг по сравнению с периферическими тканями 12 . Первой целью этого исследования было изучение мишеней GALP в головном мозге, когда крысам вводили интраназально йодированный GALP. Вторая цель состояла в том, чтобы прояснить влияние интраназального GALP на пищевое поведение у мышей с лишним весом и ожирением.
Результаты
Авторадиография
После интраназального введения 125 I-GALP наблюдали в виде черных пятен, рассеянных по всему мозгу, в том числе в обонятельной луковице и 4-х желудочках головного мозга (Fig. 1a). Однако он не был сосредоточен в конкретных регионах (рис. 1а). Поглощение в полость носа также наблюдалось (рис. 1б).
( а ) Авторадиография головного мозга +1, 40 мм в поперечном направлении к средней плоскости (слева) и световое микроскопическое изображение того же сечения (справа). ( б ) Авторадиография носовой области +1, 40 мм в поперечном направлении к медианной плоскости (слева) и световое микроскопическое изображение того же разреза (справа).
Изображение в полном размере
Доза-ответ у анестезированных мышей ICR
Чтобы определить эффект интраназального лечения GALP, мышам вводили интраназально (1900 ч) либо носитель (n = 4), либо 1 нмоль (n = 4), 2 нмоль (n = 4) или 4 нмоль GALP (n = 4). под наркозом. Массу тела, потребление пищи и потребление воды измеряли через 24 часа, а двигательную активность контролировали в течение 24 часов после обработки. Только в группе, получавшей 2 нмоль GALP, наблюдалось значительное снижение потребления пищи по сравнению с группой, получавшей носитель (фиг. 2a), с сопутствующей тенденцией к снижению массы тела (p = 0, 07) (фиг. 2b). Потребление пищи у мышей без анестезии составило 7, 28 ± 0, 08 г перед первым экспериментальным днем. Потребление пищи анестезированными мышами (контрольная группа носителя) составляло 7, 03 ± 0, 33 г. Следовательно, влияние анестезии на пищевое поведение невелико.
( а ) потребление пищи и ( б ) увеличение массы тела через 24 ч после интраназального введения носителя (без заполнения, n = 3) или GALP (1 (горизонтальные линии), 2 (схема хэширования) или 4 нмоль (заполнено), n = 4 на группу). Данные выражены в виде среднего значения ± стандартная ошибка среднего и проанализированы путем применения ANOVA с последующим тестом Даннетта со сравнением по сравнению с группой транспортных средств. * р <0, 05 по сравнению с мышами, получавшими носитель.
Изображение в полном размере
Экспрессия c-Fos в гипоталамусе и влияние на потребление пищи и воды и передвижение
По сравнению с контрольным введением носителя, интраназальное введение 2 нмоль GALP привело к значительному увеличению иммунореактивности c-Fos в латеральном гипоталамусе, дорсомедиальном гипоталамусе и дугообразном ядре (Fig. 3a, b). Однако в вентромедиальном гипоталамусе существенной разницы не наблюдалось (рис. 3б). Не было значительного различия в двигательной активности или потреблении воды между группами, которым вводили носитель и GALP, в первые 60 минут после лечения (фиг. 3c, d). Потребление пищи в группе, получавшей GALP, было значительно увеличено по сравнению с потреблением в группе, получавшей носитель, через 60 минут после инъекции (Рис. 3e).
( а ) Иммуногистохимическое окрашивание области гипоталамуса у мышей, получавших носитель и GALP. Масштабная линейка в латеральном гипоталамусе (LH), дорсомедиальном гипоталамусе (DMH) и дугообразном ядре (ARC), 100 мкм. Масштабная линейка при вентромедиальном гипоталамусе (ВМГ), 200 мкм. ( b ) Полуколичественный подсчет окрашивания c-Fos в латеральном гипоталамусе (LH), дорсомедиальном гипоталамусе (DMH), дугообразном ядре (ARC) и вентромедиальном гипоталамусе (VMH) через 90 минут после интраназального введения носителя или GALP. Данные выражены в виде среднего значения ± стандартная ошибка среднего и проанализированы t- тестом Стьюдента. * р <0, 05 по сравнению с обработкой носителем; ** р <0, 005 по сравнению с обработкой носителем. Локомоторная активность ( с ), потребление воды ( d ) и прием пищи ( e ) через 60 минут после интраназального введения носителя (n = 4) или GALP (n = 4). Данные выражены в виде среднего значения ± стандартная ошибка среднего и проанализированы по критерию Стьюдента. * р <0, 05 по сравнению с мышами, получавшими носитель.
Изображение в полном размере
7-дневная обработка GALP у мышей ob / ob
Таблица 1 показывает увеличение массы тела, потребление пищи, потребление воды и двигательную активность у мышей C57BL / 6 + / + и мышей ob / ob 13-недельного возраста за 24 ч до эксперимента. Масса тела, потребление пищи и потребление воды были значительно выше у мышей ob / ob, чем у мышей C57BL / 6 + / +, тогда как двигательная активность первых была значительно ниже. Уровень глюкозы в крови был в 3, 5 раза выше у мышей ob / ob по сравнению с животными дикого типа. Затем мышам C57BL / 6 + / + и ob / ob вводили повторные интраназальные дозы носителя один раз в день в течение 7 дней, затем 2 нмоль GALP один раз в день в течение 7 дней в сознании. Массу тела, потребление пищи, потребление воды и двигательную активность регистрировали через 48 ч после последнего интраназального введения (т.е. на 8-й день). Прибавка массы тела у худых мышей существенно не различалась между GALP и периодами лечения носителем (Рис. 4a). Тем не менее, было значительное различие между двумя группами через 48 часов после последней инъекции (рис. 4а). Напротив, масса тела мышей с ожирением постепенно увеличивалась в течение семи дней после введения носителя, тогда как последующее введение GALP значительно подавляло это спонтанное увеличение веса (фиг. 4b), эффект, который продолжался в течение 48 ч после последней инъекции. Потребление пищи у постных мышей, обработанных GALP, было снижено по сравнению с потреблением мышей, обработанных носителем, через 2 дня после начала лечения (фиг. 4c), хотя этот эффект, по-видимому, не сохранялся. Напротив, кумулятивное потребление пищи у мышей с ожирением было значительно снижено на 2-й день от начала лечения. Хотя не было значительного различия между двумя группами через 48 часов после последней инъекции (фиг. 4d), потребление пищи упало до того же уровня, что наблюдалось у худых мышей через 6 дней после начала введения GALP (фиг. 4d). Потребление воды у тучных было снижено во время и после периода лечения, тогда как у худых мышей было значительно снижено через 4 дня (Fig. 4e, f). Локомоторная активность как у худых, так и у мышей с ожирением существенно не различалась между GALP и периодами лечения носителем (фиг. 4g, h). Тем не менее, было значительное различие между двумя группами через 48 часов после последней инъекции (рис. 4, г, ч). Интраназально вводимый GALP не влиял на концентрацию глюкозы в крови (рис. 1S).
Таблица в натуральную величину
( a, c, e, g ) Показать результаты для худых мышей. ( b, d, f, h ) Показать результаты для мышей ob / ob . Эффекты повторного интраназального введения GALP на увеличение массы тела ( a, b ), ежедневное потребление пищи ( c, d ), кумулятивное потребление воды ( e, f ) и кумулятивную двигательную активность ( g, h ) у худых (n = 4) ) и мышей ob / ob (n = 4) в возрасте 13 недель. Первая инъекция GALP произошла в день 0. Данные выражены в виде среднего значения ± стандартная ошибка среднего и были проанализированы с помощью повторного двустороннего анализа ANOVA с последующим тестом Бонферрони. * р <0, 05 по сравнению с группой, получавшей носитель; ** р <0, 01 по сравнению с группой, получавшей носитель; ** р <0, 001 по сравнению с группой, получавшей носитель; **** р <0, 0001 по сравнению с группой, получавшей носитель.
Изображение в полном размере
14-дневная обработка GALP у мышей ob / ob
Двадцатинедельным самцам C57BL / 6 + / + и мышам ob / ob давали повторные интраназальные введения носителя один раз в день в течение 14 дней, затем 2 нмоль GALP один раз в день в течение 14 дней. Массу тела, потребление пищи, потребление воды и двигательную активность измеряли в течение 14 дней от начала введения. Не было значительных различий в приросте массы тела между периодами введения носителя и GALP у худых мышей (фиг. 5a), а также не было каких-либо существенных различий, наблюдаемых в отношении приема пищи или двигательной активности (фиг. 2Sa). У мышей с ожирением прирост массы тела у GALP-обработанных мышей значительно уменьшился через 9 дней (фиг. 5b). Существенные различия были замечены в совокупном потреблении пищи между носителем и группой с ожирением, получавшей GALP, через 10 дней (Рис. 5c). Тем не менее, совокупное потребление воды у GALP-обработанных мышей с ожирением было значительно снижено на 14 день (Рис. 5d). Кумулятивная двигательная активность у GALP-обработанных мышей с ожирением была значительно снижена на 11 день от начала лечения (Fig. 5e). Повторное интраназальное введение GALP не влияло на уровень глюкозы в крови у мышей ob / ob (Fig. 2Sb). Как показано на фиг.5f, концентрация глюкозы в плазме перед первой инъекцией сильно коррелировала с увеличением массы тела в конечной точке у мышей, получавших GALP (r 2 = 0, 784, p <0, 01).
Эффекты повторного интраназального введения GALP на увеличение массы тела, ежедневное потребление пищи, совокупное потребление воды и совокупную двигательную активность у худых и мышей ob / ob в возрасте 20 недель. ( а ) Прибавка массы тела у худых мышей (n = 4). ( b ) увеличение массы тела, ( c ) совокупное потребление пищи, ( d ) совокупное потребление воды и ( e ) совокупная двигательная активность у мышей ob / ob с гипергликемией (n = 6). Первая инъекция GALP произошла в день 0. ( f ) Взаимосвязь между увеличением массы тела через 24 часа после 14- го интраназального введения GALP и уровнем глюкозы в крови у мышей ob / ob с гипергликемией или нормогликемией (n = 8). Данные выражены в виде среднего ± стандартная ошибка среднего и проанализированы с помощью повторного двустороннего анализа ANOVA с последующим тестом Бонфферони. Корреляционный анализ проводился с использованием коэффициента корреляции моментов произведения Пирсона. * р <0, 05 по сравнению с группой, получавшей носитель; ** р <0, 01 по сравнению с группой, получавшей носитель; ** р <0, 001 по сравнению с группой, получавшей носитель; **** р <0, 0001 по сравнению с группой, получавшей носитель.
Изображение в полном размере
7-дневное лечение GALP у мышей с ожирением, вызванных диетой
Масса тела мышей, страдающих ожирением (DIO), в первый день эксперимента составляла 52, 4 ± 1, 4 г. Мышам вводили интраназально носитель один раз в день в течение 7 дней, а затем 2 нмоль GALP один раз в день в течение 7 дней. Это лечение привело к значительному снижению массы тела к 5 дню (рис. 6а) и к потреблению пищи к 3 дню (рис. 6б). Потребление воды было значительно снижено в группе, получавшей GALP, ко 2-му дню (Рис. 6d). На протяжении всего периода лечения GALP двигательная активность значительно снижалась. (Рис. 6г). Кроме того, не наблюдалось существенной разницы в уровне глюкозы в плазме между предварительной обработкой и 7- й обработкой GALP (140 ± 4 против 159 ± 6 мг / дл, соответственно, p = 0, 19) (фиг. 3Sa). Концентрация глюкозы в плазме перед первой дозой GALP коррелировала с последующим увеличением массы тела у мышей, получавших GALP (r 2 = 0, 60, р <0, 05) (Fig. 3Sb).
( а ) увеличение массы тела, ( б ) совокупное потребление пищи, ( в ) совокупное потребление воды и ( г ) совокупная двигательная активность в течение 7 дней интраназального введения или введения GALP (n = 7 в обоих случаях). Первая инъекция GALP произошла в день 0. Данные выражены в виде среднего значения ± стандартная ошибка среднего, и были проанализированы повторные двусторонние ANOVA с последующим тестом Бонферрони. * р <0, 05 по сравнению с группой, получавшей носитель; ** р <0, 01 по сравнению с группой, получавшей носитель; ** р <0, 001 по сравнению с группой, получавшей носитель; **** р <0, 0001 по сравнению с группой, получавшей носитель.
Изображение в полном размере
Тест на отвращение к условному вкусу
Внутрибрюшинная инъекция LiCl индуцировала формирование обусловленного отвращения вкуса к сахарину, при этом у мышей, обработанных LiCl, наблюдалось низкое соотношение потребления сахарина / жидкости (p <0, 05 по сравнению с группой, в которую вводили носитель) (фиг. 7). Напротив, интраназальное введение носителя или GALP не оказывало такого эффекта (фиг. 7).
Двухчасовой коэффициент предпочтения сахарина (потребление сахарина / общее потребление жидкости (потребление сахарина + потребление воды)%) у мышей, получавших 48 ч ранее носителем (интраназальное введение, n = 4 (без заполнения)), GALP (2 нмоль, интраназальное введение), n = 4 (черная заливка)) или LiCl (0, 15 М, внутрибрюшинная инъекция, n = 4 (серая заливка)). Данные выражены в виде среднего значения ± стандартная ошибка среднего. Различия между группами оценивались односторонним анализом ANOVA с последующим тестом Бонферрони для множественных сравнений. * р <0, 05 по сравнению с мышами, получавшими носитель.
Изображение в полном размере
обсуждение
В этом исследовании мы обнаружили, что интраназально введенный GALP транспортируется из полости носа в микроциркуляцию в головном мозге. Повторное введение GALP снижало потребление пищи, потребление воды, увеличение массы тела и двигательную активность у мышей ob / ob без отвращения к вкусу. Аналогичный эффект (снижение прироста массы тела, потребления пищи и двигательной активности) также наблюдался у мышей DIO в ответ на лечение GALP в течение 7 дней.
Многие пептиды, вводимые в мозг, затем абсорбируются в кровоток и достигают органов на периферии 13, 14 . Несколько физиологических действий происходят через перекрестные помехи между центральными и периферическими пептидами. В этом исследовании количество GALP, абсорбированного в кровообращение, не измерялось, поскольку подходящий метод не был установлен. Тем не менее, закономерности распределения GALP с радиоактивной меткой в шейных лимфатических узлах и селезенке мышей схожи для интраназального и интрацеребровентрикулярного введения 12, что позволяет предположить, что GALP следует по тем же путям, чтобы войти в кровообращение. Тем не менее, уровни меченого GALP в шейных лимфатических узлах и селезенке намного ниже после интраназального введения по сравнению с интрацеребровентрикулярным введением, что указывает на то, что в первом случае 12 значительно меньше оттоков GALP из мозга в кровь. Следовательно, вклад периферического GALP в наблюдаемые эффекты, наблюдаемые здесь, в лучшем случае невелик.
По сравнению с внутривенным введением, интраназальное введение GALP повышает поглощение в мозг 12 . Уровни поглощения в гипоталамусе были примерно в 10 раз выше в последнем случае. Циклодекстрины представляют собой циклические олигосахариды, которые состоят из (α – 1, 4) -связанных α-D-глюкопиранозных звеньев. Циклодекстрин часто используется в качестве молекулы-носителя для увеличения растворимости и поглощения малых молекул, таких как пептиды. Циклодекстрины имеют три различных размера полости, которые состоят из шести, семи или восьми единиц глюкопиранозы, образуя α-, β- и γ-циклодекстрин, соответственно. Комбинация интраназально введенного GALP с α-циклодекстрином увеличивала поглощение в обонятельной луковице и гипоталамусе приблизительно в 3 и 1, 5 раза, соответственно 12 . Следовательно, α-циклодекстрин добавляли в раствор GALP для эффективной доставки GALP в гипоталамус.
Чтобы продемонстрировать, активирует ли интраназально введенный GALP нейроны в гипоталамусе, мы оценили экспрессию c-Fos в этой области и обнаружили усиление экспрессии c-Fos в ядрах, участвующих в продвижении пищевого поведения, таких как дорсомедиальный и латеральный гипоталамус и дугообразное ядро. Мы также обнаружили, что прием пищи увеличился через 1 ч после интраназального введения GALP. С другой стороны, было показано, что интрацеребровентрикулярно вводимый GALP индуцирует экспрессию c-Fos в паренхиме, окружающей желудочки, вентрикулярные эпендимные клетки и менинги, но не в супраоптическом ядре, дорсомедиальном гипоталамусе, латеральном гипоталамусе или ядерном тракте у мышей 3, Сообщалось, что интрацеребровентрикулярная инъекция GALP мышам не оказывает влияния на кормление в течение 1 ч 3 или приводит к снижению потребления пищи через 1 ч 2, при этом ни центрально, ни интраназально вводимый GALP не влияет на прием пищи через 2 ч после введения 2 . Различия в результатах интрацеребровентрикулярного и интраназального введения через 60 мин могут быть связаны с различиями в транспорте GALP в спинномозговую жидкость или гипоталамус через микроциркуляцию головного мозга. Взятые вместе, эти данные показывают, что GALP доставляется в связанные с питанием ядра гипоталамуса после интраназального введения, но эти ядра являются временными мишенями для GALP.
Хотя интрацеребровентрикулярно вводимый GALP временно увеличивает потребление пищи у крыс, потребление пищи и масса тела снижались через 24 ч после инъекции 9 . Эта преходящая гиперфагия может быть объяснена тем фактом, что GALP активирует нейроны орексинов в латеральном гипоталамусе и нейропептиды Y в дорсомедиальной гипоталамусе 15, 16 . Оба типа нейрона содержат орексигенный пептид. В настоящем исследовании интраназально введенный GALP индуцировал экспрессию c-Fos в латеральном гипоталамусе, дорсомедиальном гипоталамусе и дугообразном ядре гипоталамуса. Однако у мышей интрацеребровентрикулярно вводимый GALP не индуцирует экспрессию c-Fos в нейронах латерального гипоталамуса или дорсомедиального гипоталамуса. Следовательно, возможно, что интраназально введенный GALP активирует орексигенные нейроны в латеральном гипоталамусе и дорсомедиальном гипоталамусе у мышей. С другой стороны, вызванная GALP гипофагия может быть объяснена тем фактом, что GALP, введенный интрацеребровентрикулярно, не оказывает значительного влияния на потребление пищи или массу тела у мышей, нокаутированных по рецептору I интерлейкина-1, через 24 часа по сравнению с введением носителя 17 . Эти результаты показывают, что интерлейкин-1 опосредует аноректическое действие GALP через рецептор I интерлейкина-1 у мышей. Следовательно, возможно, что интраназально введенный GALP также снижает пищевое поведение через сигнальные пути интерлейкина-1.
В соответствии с исследованием, проведенным Banks и коллегами 12, мышей ICR использовали здесь, чтобы определить дозовую реакцию для GALP. Интраназально вводимый GALP в дозе 1-2 нмоль снижал потребление пищи, тогда как 4 нмоль GALP такого эффекта не оказывал. Подобные колоколообразные реакции на дозу наблюдались в случае полипептида, активирующего аденилатциклазу гипофиза, и нейропептида Y 18, 19 . Эти результаты предполагают, что более высокая доза GALP может снижать экспрессию специфического рецептора или снижать чувствительность к пептиду. Интраназально вводимый GALP наиболее сильно подавлял потребление пищи при дозе 2 нмоль с тенденцией к снижению прибавки массы тела.
Эти результаты определили оптимальную дозу для интраназального введения GALP и подтвердили, что центрально, а также интраназально введенный GALP обладает анорексигенным эффектом. Многие исследования показали, что интрацеребровентрикулярный GALP оказывает подавляющее влияние на пищевое поведение и стимулирующее влияние на энергетический обмен 8, 9, 20 . Повторная интрацеребровентрикулярная инъекция GALP (дважды в день в течение 4, 5 дней) временно вызывает снижение потребления пищи и массы тела у мышей дикого типа в первый день, хотя эти эффекты не сохраняются, что свидетельствует о том, что животные становятся нечувствительными к повторному воздействию Галпу 9, 21 . Однако в настоящем исследовании интраназально введенный GALP оказывал незначительное влияние на потребление пищи, увеличение массы тела или двигательную активность у молодых худых мышей, что подчеркивает возможность различий в штаммах.
У мышей ob / ob длительное повторное введение GALP приводит к устойчивому снижению массы тела, несмотря на значительное восстановление потребления пищи 20 . У молодых мышей ob / ob повторное интраназальное введение GALP в более низкой дозе (2 нмоль) продолжало снижать потребление пищи, потребление воды и двигательную активность и подавлять ожидаемое самопроизвольное увеличение массы тела по сравнению с повторной интрацеребровентрикулярной инъекцией (5 нмоль) 9 . Этот результат предполагает, что повторное интраназальное введение поддерживает чувствительность GALP. Локомоторная активность, естественно, ниже у мышей ob / ob, чем у худых мышей. Несмотря на дальнейшее непрерывное снижение двигательной активности, наблюдаемое здесь в ответ на GALP, снижение массы тела сохранялось. Эти данные свидетельствуют о том, что не только снижение потребления пищи, но и стимулирование постоянного расхода энергии в условиях дефицита лептина способствуют снижению массы тела.
Вес тела мышей ob / ob достигает плато в возрасте 19 недель. Мы обнаружили, что интраназально введенный GALP подавляет увеличение спонтанного увеличения массы тела у молодых мышей ob / ob . Интраназально вводимый GALP уменьшал массу тела, достигал плато у старых мышей ob / ob . Гипергликемия у мышей ob / ob постепенно улучшается после 20 недель 22, 23 . Когда мы разделили мышей ob / ob на две группы (нормогликемическая и гипергликемическая) на основе уровня глюкозы в крови в первый экспериментальный день, мы наблюдали последующую отрицательную связь между уровнем глюкозы в крови и увеличением массы тела. Наши результаты показали, что интраназально введенный GALP оказывает более выраженное влияние на потерю массы тела у гипергликемических по сравнению с нормогликемическими мышами ob / ob . Таким образом, снижение массы тела, вызванное интраназально введенным GALP, может регулироваться уровнем глюкозы в плазме, хотя лечение GALP не влияло на этот уровень. Поэтому объяснение взаимосвязи между уровнем глюкозы в крови до первой инъекции и увеличением массы тела остается неясным.
Интраназально вводимый GALP также уменьшал потребление пищи, потребление воды, массу тела и двигательную активность у мышей DIO, еще одной модели ожирения. Подобно результатам, полученным у старых мышей ob / ob, концентрация глюкозы в плазме перед первой инъекцией GALP коррелировала с увеличением массы тела. Эти результаты свидетельствуют о том, что интраназальное введение GALP более эффективно снижает массу тела у мышей с ожирением с более высоким начальным уровнем глюкозы в крови. Интраназально вводимый GALP приводил к снижению совокупной массы тела у мышей DIO, несмотря на снижение двигательной активности. Сообщалось, что коэффициент дыхания, продуцируемый централизованно вводимым GALP, составляет 0, 7, что означает, что GALP метаболизирует липид 24, 25 . Интрацеребровентрикулярное введение GALP усиливает экспрессию генов, связанных с окислением жирных кислот печени (карнитин пальмитоилтрансфераза -1, ацил-СоА-дегидрогеназа со средней длиной цепи и ацил-КоА-оксидаза (AOX)) в печени мышей C57BL / 6 25 . Следовательно, эти результаты свидетельствуют о том, что интраазально вводимый GALP одновременно подавляет потребление энергии и способствует расходу энергии без потери чувствительности из-за многократного воздействия GALP. Несмотря на снижение массы тела, вызванное GALP, уровни в плазме оставались неизменными у мышей с ожирением. Хотя было показано, что централизованно вводимый GALP увеличивает экспрессию гена транспортера глюкозы (GLUT) -4, который опосредует поглощение глюкозы в скелетной мышце икроножной мышцы, уровень глюкозы в крови не изменился 24 . Централизованно вводимый GALP также вызывает тенденцию к увеличению экспрессии генов фосфоенолпируваткарбоксикиназы, которая опосредует метаболический путь глюконеогенеза в печени 24 . Поэтому возможно, что интраназально введенный GALP усиливает резистентность к инсулину или что он способствует глюконеогенезу в печени.
Выявление условного неприятия вкуса широко используется для оценки того, вызывает ли биоактивное вещество висцеральный дискомфорт у крыс и мышей 26, 27, 28, хотя этот эффект остается предметом дискуссий 29, 30, 31 . Чтобы определить, сопровождался ли аноректический эффект GALP висцеральным дискомфортом, у мышей с ожирением была проведена парадигма условного неприятия вкуса. Как и в случае внутрибрюшинной инъекции LiCl, внутрицеребровентрикулярная инъекция GALP, как было показано, вызывает формирование отвращения к условному вкусу 9 . Однако в нашем исследовании интраназально введенный GALP не вызывал неприятия вкуса, что позволяет предположить, что наблюдаемое снижение потребления пищи у мышей с ожирением не было связано с висцеральным дискомфортом.
Таким образом, наши новые данные заключаются в том, что GALP снижает массу тела и потребление пищи не только у мышей ob / ob, но и у мышей DIO в ответ на повторное интраназальное лечение, несмотря на снижение двигательной активности. GALP также эффективно снижает массу тела мышей с ожирением с более высоким уровнем глюкозы в крови. Эти результаты предполагают, что интраназальное введение является эффективным путем, посредством которого GALP может оказывать свое действие в качестве лекарственного средства против ожирения.
Материалы и методы
животные
Крыс Sprague-Dawley (SD) приобретали у Charles River Laboratories Japan, Inc. (Иокогама, Япония). Мыши ICR были приобретены у Sankyo Labo Service Corporation, Inc (Токио, Япония). Обе мыши C57BL / 6JHamSlc- ob / ob и C57BL / 6JHamSlc — + / + были приобретены у Japan SLC, Inc (Хамамацу, Япония). Мыши с ожирением, вызванные диетой (C57BL / 6J), были предоставлены Takeda Pharmaceutical Company (Осака, Япония).
Животных содержали в цикле свет: темнота 12:12 в комнате с контролируемой температурой (свет включали в 08:00), при этом вода и порошок были предоставлены ad libitum . Все экспериментальные протоколы были рассмотрены и одобрены Институциональным комитетом по уходу и использованию животных Университета Шова. И все эксперименты проводились в соответствии с Руководством по экспериментам на животных, подготовленным Комитетом по уходу и использованию животных Университета Шова.
Авторадиография
Взрослым самцам крыс SD давали предоперационное лечение для предотвращения проглатывания интраназально введенного GALP. Трахея была канюлирована и подключена к аппарату ИВЛ под общим наркозом. Затем пищевод был обнажен и окклюзирован хирургической лигатурой. GALP (50 нмоль / 50 мкл, Bachem AG, Bubendorf, Swizerland) метили реагентом [ 125 I] -Bolton-Hunter (100 мкл / 9, 25 МБк) (Perkin Elmer, Waltham, MA). Животным давали однократное интраназальное введение 125 I-GALP (370 Бк / 5, 72 нмоль / голову) с 5% альфа-циклодекстрином и через 5 минут подвергали эвтаназии галотаном. Мозги были удалены и заморожены в жидком азоте. Криосрезы готовили из каждого мозга с использованием криостата (CRYOMACROCUT, Leica Biosystems GmbH, Wetzlar, Germany). Интенсивность 125 I-GALP измеряли с использованием анализатора биоизображения (BAS-2000, Fuji Film, Токио, Япония).
Интраназальное введение GALP мышам
Свиной GALP (1-60) (предоставленный Dr. Ohtaki из Takeda Pharmaceutical Company 1 или приобретенный у Bachem AG) растворяли в физиологическом растворе с 5% альфа-циклодекстрином, который ингибирует деградацию GALP 12 . В общей сложности 2 мкл было доставлено на чашку для формования путем проталкивания пластикового наконечника 10 мкл с гелевой загрузкой, прикрепленного к 10 мкл микропипетки через правый нарис.
Потребление пищи и воды, увеличение массы тела и двигательная активность
Взрослых самцов мышей содержали индивидуально и приучали к оборудованию, используемому для измерения пищевого поведения (ACTIMO-100, Shinfactory Co., Ltd., Fukuoka, Japan), в течение приблизительно 1 недели. Размер жилой площади составлял 240 мм в ширину, 290 мм в длину и 300 мм в высоту. Потребление пищи и воды регистрировали через каждые 1 мин. Потребление пищи рассчитывали по изменению веса коробки для чау-чау. Водозабор измеряли с помощью датчика падения. Шестьдесят капель воды были примерно равны 1 мл. Локомоторная активность контролировалась 98 инфракрасными лучами с интервалом 20 мм. Уровни активности выражали в виде числа амбулаторий (двух последовательных разрывов луча), зарегистрированных в каждом 1-минутном интервале. Вес тела измеряли с 24-часовыми интервалами.
Определение дозового ответа с использованием мышей ICR
Взрослых самцов мышей ICR содержали отдельно и приучали, как описано выше, в течение приблизительно 1 недели. Для определения профиля реакции на дозу мышей анестезировали 50 мг / кг пентобарбитала натрия (Dainippon Sumitomo Pharma Co., Ltd., Осака, Япония) и получали интраназальное введение (1900 ч) любого носителя (физиологический раствор с 5% альфа-циклодекстрин, n = 3) или 1 нмоль (n = 4), 2 нмоль (n = 4) или 4 нмоль GALP (n = 4). Потребление пищи и массу тела измеряли через 24 ч после обработки.
экспрессия c-Fos в гипоталамусе
Взрослым самцам мышей ICR давали однократное интраназальное введение носителя (физиологический раствор с 5% альфа-циклодекстрином) или 2 нмоль GALP с альфа-циклодекстрином (1940 ч). Через девяносто минут после введения животных анестезировали путем внутрибрюшинной инъекции 50 мг / кг пентобарбитала натрия и транскардиальной перфузии физиологическим раствором с последующим охлаждением раствором фиксатора, содержащим 4% параформальдегида в 0, 01 М PBS. Мозг удаляли, затем фиксировали в том же фиксаторе в течение 24 ч при 4 ° С и переносили в 0, 01 М раствор PBS, содержащий 30% сахарозы. Мозги были заморожены в изопентан-жидкий азот. Серийные криосрезы толщиной 7 мкм готовили из каждого мозга с использованием криостата. Каждую четвертую секцию блокировали 5% нормальной козьей сывороткой в течение 1 часа при комнатной температуре (RT) и затем инкубировали с кроличьим анти-c-Fos антителом (1: 30000, Ab-5; Oncogene Research Products, Cambridge, MA) с последующим меченное биотином козье анти-кроличье IgG-антитело (1: 200, Vector Laboratories, Inc., Burlingame, CA) в течение 2 ч при комнатной температуре. Ядерный c-Fos визуализировали с использованием метода авидин-биотин-комплекс-3, 3′-диаминобензидин (ABC-DAB). Для количественного определения количества c-Fos-положительных клеток отбирали срезы на расстоянии 2, 80 мм кзади от брегмы. Количество c-Fos-положительных клеток в поле зрения бокового гипоталамуса, дорсомедиального гипоталамуса, дугообразного ядра и вентромедиального ядра подсчитывали.
Кормление и потребление воды, увеличение массы тела и двигательная активность у мышей ob / ob
Для 7 или 14-дневного лечения использовали мышей C57BL / 6JHamScl- + / + или C57BL / 6JHamSlc- ob / ob в возрасте 12 или 19 недель соответственно. Взрослых самцов мышей C57BL / 6 + / + и ob / ob индивидуально содержали и приучали в течение приблизительно 1 недели. Животным давали повторное интраназальное введение носителя (физиологический раствор с 5% альфа-циклодекстрином) один раз в день в течение 7 или 14 дней, а затем 2 нмоль GALP с альфа-циклодекстрином один раз в день в течение 7 или 14 дней. Мышам в сознании вводили GALP в 1900 ч (за час до выключения света). Потребление пищи и воды и двигательная активность были зарегистрированы в ходе эксперимента. Массу тела измеряли каждые 24 ч после интраназального введения.
Кормление и потребление воды, увеличение массы тела и двигательная активность у мышей с диетой, страдающих ожирением (DIO)
Взрослых самцов мышей C57BL / 6 кормили рационом с высоким содержанием жира 45% (Research Diets, D12331, New Brunswick, NJ) в течение 18 недель. Этих мышей затем отдельно помещали и приучали в течение приблизительно 1 недели. В 22-недельном возрасте сознательным DIO животным давали повторное интраназальное введение носителя (физиологический раствор с 5% альфа-циклодекстрином) один раз в день в течение 7 дней, а затем 2 нмоль GALP с альфа-циклодекстрином один раз в день в течение 7 дней в 19:00. ч (за час до отключения). Потребление пищи и воды и двигательная активность регистрировались в каждом 1-минутном интервале.
Исследование отвращения к условному вкусу
Общие условия эксперимента были по существу такими же, как те, что были описаны ранее 32 . Шесть мышей ob / ob получали 2 ч (1700–1900 ч) ежедневного доступа к воде в течение 10 дней для обеспечения стабильного потребления жидкости в течение 2 ч периода. В течение этого тренировочного периода мышам всегда давали 2 бутылки воды, которые предварительно взвешивали. На 10-й день мышам снова давали 2 ч доступа к воде, после чего сразу же вводили GALP (2 нмоль, 1- е интраназальное введение, n = 2) или носитель (физиологический раствор с 5% альфа-циклодекстрином, 1- е интраназальное введение, n = 2). ) потому что GALP значительно снизил потребление пищи после второго интраназального введения. На 11-й день (для условного неприятия вкуса) мышам давали 2-часовой доступ к 0, 1% -ному раствору сахарина (а не к воде), а затем немедленно GALP (2 нмоль 2- е интраназальное введение), LiCl (0, 15 М в объеме, эквивалентном объему 2% от массы тела (внутрибрюшинное введение), который служил в качестве положительного контроля для формирования условного отвращения вкуса, или их соответствующие носители (2- е интраназальное введение). У мышей был один день отдыха, в течение которого они получали 2-х часовой доступ к 2 бутылкам воды. На следующий день им была представлена бутылка с водой и бутылка с раствором сахарина, и потребление жидкости измеряли через 30 минут, 1 и 2 часа. Расположение бутылок менялось в каждый момент считывания, чтобы избежать каких-либо предпочтений со стороны. Затем животным был разрешен свободный доступ к рациону и ограниченный доступ к воде в течение 5 дней для метаболизма GALP и LiCl. Мышам, которым вводили носитель, вводили GALP, а мышам, которым давали GALP, вводили носитель. Животным, которым давали LiCl, снова давали LiCl. Затем эксперимент был повторен. Отношение предпочтений рассчитывали как потребление раствора сахарина в паре с лекарственным средством по сравнению с общим потреблением жидкости.
Измерение уровня глюкозы в плазме
Уровни глюкозы в крови у хвоста снимали, используя набор для измерения глюкозы (GR-102, Terumo, Токио, Япония).
статистический анализ
Все данные выражены как среднее значение ± sem для каждой группы. Различия между двумя группами оценивались по критерию Стьюдента. Значительные различия между группами оценивались с помощью повторного двустороннего анализа ANOVA с последующим тестом Бонферрони для сравнений в тот же день. Статистические сравнения временных изменений в зависимости от дозы были выполнены с использованием теста Даннетта по сравнению с группой, получавшей носитель (физиологический раствор с 5% альфа-циклодекстрином). Корреляционный анализ проводился с использованием коэффициента корреляции моментов произведения Пирсона. Различия между группами оценивали односторонним анализом ANOVA с последующим тестом Бонферрони для множественных сравнений в исследовании с отвращением к условному вкусу. Статистическая значимость была определена как р <0, 05. Все анализы были выполнены с использованием GraphPad Prism версии 7 (GraphPad Software, La Jolla, CA, USA).
Дополнительная информация
Как цитировать эту статью : Kageyama, H. et al . Эффект против ожирения при интраназальном введении галанин-подобного пептида (GALP) у мышей с ожирением. Sci. Отчет 6, 28200; doi: 10.1038 / srep28200 (2016).
Дополнительная информация
Word документы
- 1.
Дополнительная информация
Комментарии
Отправляя комментарий, вы соглашаетесь соблюдать наши Условия и Принципы сообщества. Если вы обнаружили что-то оскорбительное или не соответствующее нашим условиям или правилам, отметьте это как неуместное.
глотков | WebStorm
WebStorm интегрируется с Gulp.js Task Runner. WebStorm анализирует файлы Gulpfile.js, распознавая определения задач, отображает задачи в виде дерева, позволяет перемещаться между задачей в дереве и ее определением в файле Gulpfile.js, а также поддерживает выполнение и отладку задач.
Задачи Gulp.js можно запускать из дерева задач в специальном окне инструментов Gulp или из файла Gulpfile.js, запустив конфигурацию запуска Gulp.js, или как задачу перед запуском из другой конфигурации запуска.WebStorm показывает результат выполнения задачи в окне инструмента «Выполнить». Окно инструмента показывает вывод Grunt, сообщает о возникших ошибках, перечисляет пакеты или плагины, которые не были найдены, и т. Д. Имя последней выполненной задачи отображается в строке заголовка окна инструмента.
Перед началом работы
Убедитесь, что на вашем компьютере установлен Node.js.
Установка Gulp.js
Чтобы использовать Gulp в проекте WebStorm, вам понадобятся два пакета:
Глобально установленный пакет gulp-cli (интерфейс командной строки Gulp) для выполнения команд Gulp.
Пакет gulp, установленный в качестве зависимости разработки для построения дерева задач проекта и предоставления помощи при кодировании при редактировании файла Gulpfile.js. Узнайте больше о Gulpfile.js на официальном сайте Gulp.js.
Для глобальной установки gulp-cli
Во встроенном терминале ( Alt + F12 ) введите:
npm install -global gulp-cli
Чтобы установить Gulp.js в project
Во встроенном терминале ( Alt + F12 ) введите:
npm install gulp --save-dev
Вы также можете установить пакеты на Node.js и NPM, как описано в npm, pnpm и Yarn.
Запуск задач Gulp.js из дерева задач
WebStorm позволяет легко и быстро запускать задачи Gulp.js прямо из дерева задач в окне инструмента Gulp. WebStorm автоматически создает временную конфигурацию запуска, которую вы можете сохранить и использовать позже при необходимости.
Gulp.js начинает построение дерева задач, как только вы вызываете Gulp.js, выбирая «Показать задачи Gulp» в контекстном меню Gulpfile.js в окне инструмента «Проект» или в Gulpfile.js открыт в редакторе. Дерево построено в соответствии с файлом Gulpfile.js, для которого был вызван Gulp.js. Если в вашем проекте несколько файлов Gulpfile.js, вы можете построить отдельное дерево задач для каждого из них и запускать задачи, не отказываясь от ранее построенных деревьев задач. Каждое дерево отображается под отдельным узлом.
Технически WebStorm вызывает Gulp.js и обрабатывает Gulpfile.js в соответствии с конфигурацией запуска Gulp.js по умолчанию. Делается это бесшумно и не требует никаких шагов с вашей стороны.
Чтобы открыть окно инструмента Gulp
Когда вы впервые строите дерево задач во время текущего сеанса WebStorm, окно инструмента Gulp еще не открывается.
По умолчанию WebStorm не распознает ES6 в Gulpfile.js и не может построить дерево задач. Чтобы решить эту проблему, обновите конфигурацию запуска Gulp.js по умолчанию.
Чтобы построить дерево задач из ES6 Gulpfile.js
В главном меню выберите.
В узле «Шаблоны» щелкните Gulp.js.
В открывшемся диалоговом окне «Конфигурация запуска / отладки: Gulp.js» введите
--harmony
в поле «Параметры узла» и нажмите «ОК».
Чтобы построить дерево задач из окна инструмента Gulp
В окне инструмента Gulp щелкните на панели инструментов и выберите нужный файл Gulpfile.js из списка. По умолчанию WebStorm показывает файл Gulpfile.js в корне вашего проекта.
Если у вас есть другой файл Gulpfile.js, нажмите Выбрать Gulpfile.js и выберите нужный файл Gulpfile.js в открывшемся диалоговом окне. WebStorm добавляет новый узел с путем к выбранному файлу Gulpfile.js в его заголовке и строит дерево задач под новым узлом.
Для восстановления дерева
Чтобы отсортировать задачи в дереве по их именам
Щелкните на панели инструментов, выберите «Сортировать по» в меню, а затем выберите «Имя».
По умолчанию дерево показывает задачи в том порядке, в котором они определены в Gulpfile.js (опция Порядок определения).
Для запуска задачи
Для запуска задачи по умолчанию
Для запуска нескольких задач
Для перехода к определению задачи
Запуск задач из Gulpfile.js
Поместите курсор на определение задачи. задачу, которую нужно запустить, и выберите в контекстном меню команду Выполнить <имя задачи>. WebStorm создает и запускает временную конфигурацию запуска с именем выбранной задачи.
Чтобы сохранить автоматически созданную временную конфигурацию запуска, поместите курсор на определение задачи, для которой она была создана, и выберите Сохранить <имя задачи> в контекстном меню выбора.
Выполнение и отладка задач в соответствии с конфигурацией запуска
Помимо использования временных конфигураций запуска, которые WebStorm создает автоматически, вы можете создавать и запускать свои собственные конфигурации запуска Gulp.js.
Чтобы создать конфигурацию запуска Gulp.js
В главном меню выберите.
Щелкните на панели инструментов и выберите Gulp.js из списка. Откроется диалоговое окно «Запуск / отладка конфигурации: Gulp.js».
Укажите имя конфигурации запуска, задачи для запуска (используйте пробелы в качестве разделителей), расположение Gulpfile.js, в котором определены эти задачи, и путь к пакету gulp, установленному в корне текущего проекта.
- Укажите интерпретатор Node.js для использования. Это может быть локальный интерпретатор Node.js или Node.js в подсистеме Windows для Linux.
При желании укажите переменные среды для Node.js и аргументы для выполнения задач. Используйте формат
- <имя_параметра> <значение_параметра>
, например:--env development
. Узнайте больше на официальном сайте Gulp.
Для запуска задач
Для отладки задач
Создайте конфигурацию запуска / отладки Gulp.js, как описано выше.
Откройте файл Gulpfile.js в редакторе и при необходимости установите в нем точки останова.
Чтобы начать сеанс отладки, выберите необходимую конфигурацию отладки из списка на главной панели инструментов и щелкните рядом со списком или выберите в главном меню.
В открывшемся окне инструмента отладки проанализируйте выполнение приостановленной задачи, выполните пошаговое выполнение задачи и т. Д., Как описано в разделах «Проверка приостановленной программы» и «Пошаговое выполнение программы».
Чтобы запустить задачу Gulp как задачу перед запуском
Откройте диалоговое окно «Запуск / отладка конфигураций», выбрав в главном меню, и выберите нужную конфигурацию из списка или создайте ее заново, щелкнув и выбрав значок соответствующий тип конфигурации запуска.
В открывшемся диалоговом окне щелкните в области «Перед запуском» и выберите из списка «Запустить задачу Gulp».
- В открывшемся диалоговом окне задачи Gulp укажите Gulpfile.js, где определена требуемая задача, выберите задачу для выполнения и укажите аргументы для передачи инструменту Gulp.
Укажите расположение интерпретатора Node.js, передаваемые ему параметры и путь к пакету gulp.
Автоматический запуск задач Gulp.js
Если у вас есть задачи, которые вы запускаете на регулярной основе, вы можете добавить соответствующие конфигурации запуска в список задач запуска. Задачи будут выполняться автоматически при запуске проекта.
В диалоговом окне «Настройки / Предпочтения» Ctrl + Alt + S щелкните «Задачи при запуске» в разделе «Инструменты».
На открывшейся странице Startup Tasks щелкните на панели инструментов.
Из списка выберите необходимую конфигурацию запуска Gulp.js. Конфигурация добавлена в список.
Если в проекте нет подходящей конфигурации, щелкните и выберите «Редактировать конфигурации». Затем определите конфигурацию с необходимыми настройками в Run / Debug Configuration: Gulp.js открывается страница. При сохранении новой конфигурации она автоматически добавляется в список задач запуска.
Последнее изменение: 26 мая 2021 г.
Приключения на пищеварительном канале Мэри Роуч
Заказать Gulp по адресу:
Пищеварительный тракт — часто критикуемая трубка ото рта до задней части — в своем роде такое же табу, как трупы в Stiff , и столь же сюрреалистично, как вселенная невесомости, исследованная в Packing for Mars. В Gulp мы встречаемся с учеными, которые решают вопросы, которые никто не думает — или не имеет смелости — задать. Сколько вы можете съесть, прежде чем у вас разорвется желудок? Почему желудок не переваривает сам себя? Могут ли дегустаторы отличить бутылку за 10 долларов от бутылки за 100 долларов? Почему хрустящая еда такая привлекательная? Может ли запор убить вас? Это убило Элвиса? Мы отправляемся в лабораторию по тестированию вкуса кормов для домашних животных, к пересадке фекалий и в живой желудок, чтобы понаблюдать за судьбой еды. Как и все книги Роуча, « Gulp » посвящен не только человеческим существам, но и человеческим телам.
Похвала за Gulp :
- В своем последнем шумном набеге на табуированные, неприятные и недооцененные аспекты человеческого тела писатель-бестселлер Роуч отправляет читателей в безумную поездку по пищеварительному тракту. Не то чтобы автор Stiff (2003), Bonk (2008) и Packing for Mars (2010) когда-либо куда-либо направлялся прямым маршрутом. Нет, ненасытно любопытный и бесстрашный Роуч устремляется в любом направлении, куда ведет ее страсть к исследованиям и неудержимый инстинкт к удивительно странным.Она начинает это веселое, расширяющее сознание исследование еды, пищеварения и устранения с симбиоза между запахом и вкусом, руководствуясь ольфакторно одаренным сенсорным аналитиком, затем описывает Горация Флетчера, сторонника строгого режима жевания, известного как Fletcherizing, практикуемого Генри Джеймсом. и Франц Кафка. Мы узнаем больше, чем можно себе представить, о слюне и нашей страсти к хрустящей пище. Учитывая увлечение Роуча тем, что мы считаем отвратительным, научные навязчивые идеи и причудливые эксперименты, а также ужасающие вещи, которые мы делаем с собой, истории становятся все более странными, поскольку она движется вниз по телу.Роуч берет интервью у заключенного о контрабанде через прямой канал (включая сотовые телефоны), рассказывает истории о метеоризме и раскрывает правду о фатальном мегаколоне Элвиса Пресли. Несмотря на всю свою непочтительность, Роуч восхищается отлаженной работой и мудростью человеческого тела, а читатели будут восхищены ее буйной энергией, смелостью и остроумием.
—Donna Seaman, Книжный список , отзыв с пометкой - Поклонники живого письма будут в восторге от новейшего односложного произведения Мэри Роуч.И снова Роуч смело идет туда, где раньше не ходил ни один автор, в науку о табу, мрачном, мерзком и просто странном. И она передает все это в безупречной манере: тепло, ясно, криво, разделяя неизбежное развлечение, никогда не прибегая к дешевому или очевидному. Ням!
— Стивен Пинкер, профессор психологии Гарвардского колледжа и автор книги Как работает разум - Это так грубо, как и следовало ожидать, но в то же время увлекательно. … Подход Роуча основан на науке, но виртуозный автор с удовольствием вызывает у читателей трепет.
— Publisher’s Weekly , обзор отмечен
Авторские права © 2010-2021 Мэри Роуч. Все права защищены.
GULP — Домашний
GULP — это программа для выполнения различных типов моделирования материалов. с использованием граничных условий 0-D (молекулы и кластеры), 1-D (полимеры), 2-D (поверхности, плиты и границы зерен) или 3-D (периодические твердые тела). Основное внимание в коде уделяется аналитических решений, за счет использования динамики решетки, где это возможно, а не по молекулярной динамике.В GULP могут использоваться различные силовые поля, охватывающие оболочечная модель для ионных материалов, молекулярная механика для органических систем, встроенная модель атома для металлов и реактивный потенциал REBO для углеводородов. Аналитические производные включены как минимум до второго порядка для большинства силовых полей и до третьего порядка для многие.
Научные подробности о GULP можно найти в следующих статьях:
- GULP — компьютерная программа для симметрии адаптированного моделирования твердых тел, J.Д. Гейл, JCS Faraday Trans., 93 , 629 (1997)
- Вывод эмпирического потенциала для ионных материалов, J.D. Gale, Phil. Mag. В, 73 , 3, (1996)
- The General Utility Lattice Program, J.D. Gale и A.L. Rohl, Mol. Simul. , 29 , 291-341 (2003)
- GULP: Возможности и перспективы, J.D. Gale, Z. Krist. , 220 , 552-554 (2005)
- Эффективный метод предсказания морфологии, зависящей от растворителя: метод COSMIC, J.D. Gale, A.L. Rohl, Mol. Simul. , 33 , 1237-1246 (2007)
- Функции распределения пар, рассчитанные на основе моделей межатомного потенциала с использованием программы General Utility Lattice Program, E.R. Cope и M.T. Dove, J. Appl. Cryst. , 40 , 589-594 (2007)
- Поле реактивных сил для водно-карбонатных систем, J.D. Gale, P. Raiteri и A.C.T. van Duin, PCCP. , 13 , 16666-16679 (2011)
GULP доступен бесплатно для академического использования любым лицом, имеющим действующий университетский адрес электронной почты.Для доступа к коду перейдите на соответствующую вкладку и «зарегистрируйтесь». Код предоставляется «как есть» и без опоры. Любые вопросы, касающиеся использования кода, могут быть размещены на форуме пользователей, если они еще не рассмотрены в предыдущих темах. Отчеты об ошибках и запросы на регистрацию можно отправлять в gulpcode на сайте curtin.edu.au, и мы постарайтесь ответить как можно скорее.
Задача сборки и выпускаGulp — Azure Pipelines
- 2 минуты на чтение
В этой статье
Конвейеры Azure | Azure DevOps Server 2020 | Сервер Azure DevOps 2019 | TFS 2018 — TFS 2015
Используйте эту задачу для запуска задач gulp с помощью Node.js потоковая система сборки на основе задач.
Требования
глоток
фрагмент YAML
# глоток
# Запускаем gulp Node.js систему сборки на основе задач потоковой передачи
- задача: глоток @ 1
входы:
#gulpFile: 'gulpfile.js'
#targets: # Необязательно
#arguments: # Необязательно
#workingDirectory: # Необязательно
#gulpjs: # Необязательно
#publishJUnitResults: false # Необязательно
#testResultsFiles: '** / TEST - *. xml' # Требуется, если publishJUnitResults == True
#testRunTitle: # Необязательно
#enableCodeCoverage: false
#testFramework: 'Mocha' # Необязательно.Варианты: мокко, жасмин
#srcFiles: # Необязательно
#testFiles: 'test / *. js' # Требуется, если enableCodeCoverage == True
Аргументы
Аргумент | Описание |
---|---|
gulpFile gulp Путь к файлу | (Обязательно) Относительный путь от корня репо скрипта файла gulp, который вы хотите запустить. Значение по умолчанию: gulpfile.js |
цели глоток Задачи | (Необязательно) Список выполняемых задач, разделенный пробелами.Если не указан, будет запущена задача по умолчанию. |
аргументы аргументы | В gulp переданы дополнительные аргументы. Совет: —gulpfile не требуется, так как уже добавлен через ввод gulpFile выше |
cwd Рабочий каталог | (Необязательно) Текущий рабочий каталог при запуске сценария. По умолчанию используется папка, в которой находится сценарий. Псевдонимы аргументов: рабочий каталог |
gulpjs gulp.js расположение | (Необязательно) Путь к альтернативному файлу gulp.js относительно рабочего каталога. Псевдонимы аргументов: рабочий каталог |
publishJUnitResults Опубликовать в Azure Pipelines | Выберите этот параметр, чтобы опубликовать результаты теста JUnit, полученные с помощью сборки gulp, в Azure Pipelines. Значение по умолчанию: false |
testResultsFiles Test Results Files | (Обязательно) Путь к файлам результатов тестирования.Можно использовать подстановочные знаки. Например, ** / TEST — *. Xml для всех файлов XML, имя которых начинается с TEST-. Значение по умолчанию: ** / TEST — *. Xml |
testRunTitle Название тестового прогона | (Необязательно) Укажите имя для тестового прогона |
enableCodeCoverage Включить охват кода | (Необязательно) Выберите этот параметр, чтобы включить покрытие кода с использованием Istanbul Значение по умолчанию: false |
testFramework Test Framework | (Необязательно) Выберите свою тестовую среду Значение по умолчанию: Mocha |
srcFiles Исходные файлы | (Необязательно) Укажите путь к исходным файлам, которые вы хотите перехватитьRequire () |
testFiles Test Script Files | (Обязательно) Укажите путь к файлам тестовых сценариев. Значение по умолчанию: test / *.js |
Пример
Запустите gulp.js
На вкладке «Сборка»:
| Установите npm. |
| Запустите ваш сценарий.
|
Создайте узел.js-приложение
Создайте приложение Node.js с помощью gulp
Открытый исходный код
Эта задача с открытым исходным кодом на GitHub. Отзывы и предложения приветствуются.
FAQ
Нужен ли мне агент?
Для запуска сборки или выпуска необходим хотя бы один агент.
У меня проблемы. Как я могу их устранить?
См. Устранение неполадок при сборке и выпуске.
Я не могу выбрать пул агентов по умолчанию и не могу поставить свою сборку или выпуск в очередь. Как я могу это исправить?
См. Пулы агентов.
Моя задача push NuGet завершается ошибкой из-за следующей ошибки: «Ошибка: невозможно получить сертификат локального эмитента». Как я могу это исправить?
Это можно исправить, добавив доверенный корневой сертификат. Вы можете либо добавить переменную среды NODE_EXTRA_CA_CERTS = file
в свой агент сборки, либо добавить в конвейер переменную задачи NODE.EXTRA.CA.CERTS = file
. Подробнее см. Переменные среды.
Gulp: автоматическое выполнение задач в JavaScript
Могу ли я просто получить учебное пособие, которое точно расскажет мне, что мне нужно делать и знать, чтобы настроить Gulp, не углубляясь в какое-то несвязанное обсуждение семантики HTML , интересно? Да, ты можешь.Вот.
Подходит ли вам эта статья?
Эта статья для вас, если вы ищете руководство, которое не делает никаких предположений и перечисляет каждый шаг по установке Gulp — с самого начала, по порядку, без каких-либо пробелов.
Это руководство также было создано на Mac. Несколько шагов будут отличаться для Windows.
Предварительные требования
Голы
- Установите все необходимое для запуска и работы Gulp.
- Скомпилируйте несколько файлов Sass в один файл CSS, примените префиксы поставщика и минимизируйте.
Краткий обзор
Gulp.js — система потоковой сборки — это средство выполнения задач JavaScript, которое может автоматически позаботиться о повторяющихся задачах. Как и многие другие полезные технические инструменты, в Gulp нет руководства для начинающих. Их руководство по началу работы на самом деле начинается с шага 6 или около того. Если вы уже знаете, как работают Node и npm, и у вас все установлено, это здорово, но новичок только остается смущенным и разочарованным.
Я собираюсь быстро резюмировать несколько важных концепций.Не стесняйтесь прокручивать назад к этому после того, как вы начали делать некоторые шаги для уточнения.
- Node.js — среда, которая позволяет запускать серверный JavaScript для Интернета.
- npm — менеджер пакетов для Node.js. Инструмент, который позволяет быстро и легко настраивать локальные среды и плагины Node.
- Локальный или глобальный — Node.js устанавливается глобально, но Gulp и все его плагины будут установлены локально для каждого проекта.
- Средство выполнения задач — Средство выполнения задач, такое как Gulp, автоматизирует все ваши процессы, поэтому вам не нужно о них думать. Gulp требует package.json и gulpfile.js .
Список шагов
Со своей стороны, я попытаюсь создать утерянное руководство по Gulp для новичков. Я перечисляю шаги, чтобы вы знали, во что ввязываетесь.
- Установить инструменты командной строки Xcode
- Установить Homebrew
- Установите Node.js
- Установить Gulp глобально
- Установить Node и Gulp локально
- Установить плагины Gulp
- Настроить проект
Есть много способов сделать это, но мы собираемся сделать это именно так.
Примечание. В 2016 году установка XCode и инструментов командной строки больше не требуется — Homebrew установит для вас необходимый интерфейс командной строки.
Это предварительное условие для установки Homebrew.
Установить Xcode
Загрузите Xcode из Mac App Store
Установить инструменты командной строки
Откройте Xcode и щелкните следующее.
Настройки> Загрузки> Инструменты командной строки
Установить Homebrew
Homebrew упрощает установку программ и пакетов на Mac. Откройте терминал и введите следующее, а затем следуйте инструкциям.
/ usr / bin / ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Установите Node.js
Мы будем использовать Homebrew для установки Node.js — серверной среды JavaScript, в которой работает Gulp.Node.js поставляется с npm, диспетчером пакетов узлов. Введите это в Терминал.
Установить Gulp глобально
Это глобально установит командную строку Gulp. Это последний глобальный шаг перед тем, как мы начнем устанавливать что-то локально — для каждого проекта.
npm install --global gulp-cli
Это конец глобальной установки! Ни один из этих шагов не нужно повторять. Отсюда мы начнем настраивать наш локальный проект.
Установить Node и Gulp локально
С этого момента вам нужно будет перейти к папке, в которой вы храните свои веб-проекты.Для меня это / Users / tania / sites . Поскольку я начинаю с Терминала по адресу / Users / tania
, я перейду на сайтов
.
Затем я создам новый каталог проекта.
И переходим во вновь созданную папку.
Чтобы установить Node локально, вам понадобится файл package.json . Вы можете создать этот файл вручную или сгенерировать его. Мы собираемся создать его, чтобы вы поняли, как он работает.
Эта команда проведет вас через создание универсального пакета .json . Это довольно просто, просто нажмите Enter, если вы не уверены или не хотите что-то заполнять. Я просто дал ему описание, ключевые слова и автора, и файл был сгенерирован.
{
"name": "startgulp",
"версия": "1.0.0",
"description": "Начало работы с Gulp",
"main": "index.js",
"scripts": {
"test": "echo \" Ошибка: тест не указан \ "&& exit 1"
},
"ключевые слова": [
"глоток",
"дерзость"
],
"author": "Таня Расция",
«лицензия»: «Массачусетский технологический институт»
}
Теперь запустим команду для установки Node и Gulp.
npm install --save-dev gulp
Вы получите несколько предупреждений об устаревании и отсутствующих файлах, но не беспокойтесь слишком сильно.
npm WARN package.json [email protected] Нет поля репозитория.
npm WARN package.json [email protected] Нет данных README
Как только это будет завершено, вы можете перечислить свои файлы:
node_modules package.json
И вы увидите, что каталог node_modules был создан. Ради вашего здравого смысла не спускайтесь в кроличью нору node_modules; вы можете никогда не найти выхода.
Установить плагины Gulp
На данный момент в нашем каталоге node_modules единственная установленная devDependency — Gulp. Чтобы творить чудеса, нам нужно установить все плагины Gulp. Плагинов Gulp очень много. Ради этой статьи мы собираемся установить четыре для нашего рабочего процесса веб-разработки переднего плана.
Это хороший рабочий процесс — вы можете писать SCSS, не беспокоясь о добавлении префиксов или уменьшении кода вручную, а исходные карты помогут вам найти источник CSS в вашем .scss
файлов.
Если у вас нет опыта работы с Sass, я рекомендую прочитать Learn Sass Now: A Guide to Install, Using and Understanding Sass, чтобы лучше понять, как это работает. 3.1.6.0 » }
Это все установленные вами пакеты Node.
Для справки в будущем вы можете упростить процесс, изначально вставив devDependencies в свой package.json . После этого просто набрав команду
npm install
установит все плагины без необходимости указывать это в командной строке.Настройка проекта
Последнее, что нам нужно сделать, это создать файл с именем gulpfile.js , который представляет собой файл JavaScript, который будет определять весь процесс выполнения задачи.
Создайте файл gulpfile.js . Теперь у нас есть все части головоломки Gulp. Вот графическое представление того, как ваш проект должен выглядеть на данный момент:
Edit 4/3/2017 — теперь вы увидите гораздо больше каталогов в папке node_modules из-за того, что npm изменил способ обработки зависимостей, поэтому не волнуйтесь, все по-прежнему работает так же.
Мы можем начать наш Gulpfile с определения переменной для каждого требования плагина.
"строгое использование" var gulp = require ('глоток') var sass = require ('глоток-sass') var cssnano = require ('глоток-cssnano') var sourcemaps = require ('gulp-sourcemaps') var autoprefixer = require ('gulp-autoprefixer')
Мне нравится работать со всеми моими исходными файлами, такими как Sass, в каталоге src / и со всеми моими конечными файлами в каталоге dist / .
Итак, я начну с создания задачи Gulp.
gulp.task ('рабочий процесс', function () { глоток .src ('./ src / sass / ** / *. scss') .pipe (gulp.dest ('./ dist / css /')) })
Путь
/**/*.scss
означает, что задача применяется к этому или любому последующему каталогу ( src / sass / ) с любым именем файла, заканчивающимся на .scss . Пункт назначения — dist / css / .Вставить все остальные плагины очень просто.
gulp.task ('рабочий процесс', function () { глоток .src ('./ src / sass / ** / *. scss') .pipe (sourcemaps.init ()) .pipe (sass (). on ('ошибка', sass.logError)) .трубка( автопрефиксатор ({ браузеры: ['последние 2 версии'], каскад: ложь, }), ) .pipe (cssnano ()) .pipe (исходные карты.write ('./')) .pipe (gulp.dest ('./ dist / css /')) })
У каждого плагина будет соответствующий файл readme на GitHub, в котором объясняется, как его использовать. Однако большинство из них довольно просты. Каждая задача Gulp находится в конвейерной функции. Выше вы можете видеть, что я запускаю исходные карты, запускаю Sass с регистрацией ошибок, автопрефиксацию для последних двух браузеров, минимизирую и записываю исходные карты в тот же каталог, что и выходной CSS.
Наконец, я собираюсь определить задачу Gulp по умолчанию как задачу «наблюдения» — Gulp будет следить за любыми изменениями в моем указанном каталоге и будет работать, если были внесены какие-либо изменения.
gulp.task ('по умолчанию', function () { gulp.watch ('./ src / sass / ** / *. scss', ['рабочий процесс']) })
Вот последний gulpfile.js :
"строгое использование" var gulp = require ('глоток') var sass = require ('глоток-sass') var cssnano = require ('глоток-cssnano') var sourcemaps = require ('gulp-sourcemaps') var autoprefixer = require ('gulp-autoprefixer') глоток.task ('рабочий процесс', function () { глоток .src ('./ src / sass / ** / *. scss') .pipe (sourcemaps.init ()) .pipe (sass (). on ('ошибка', sass.logError)) .трубка( автопрефиксатор ({ браузеры: ['последние 2 версии'], каскад: ложь, }), ) .pipe (cssnano ()) .pipe (исходные карты.write ('./')) .pipe (gulp.dest ('./ dist / css /')) }) gulp.task ('по умолчанию', function () { gulp.watch ('./ src / sass / ** / *. scss', ['рабочий процесс']) })
Теперь, чтобы протестировать этот код, я собираюсь создать три простых
.scss
файлы — main.scss , _variables.scss и _scaffolding.scss .Основной
@import "переменные"; @import "строительные леса";
Переменные
$ font-style: нормальный; $ font-option: normal; $ font-weight: нормальный; $ font-color: # 222; $ font-size: 1rem; $ line-height: 1,5; $ font-family: Helvetica Neue, Helvetica, Arial, без засечек;
Строительные леса
html { шрифт: $ font-style $ font-variant $ font-weight # {$ font-size} / # {$ line-height} $ font-family; } .vertical-center { дисплей: гибкий; align-items: center; justify-content: center; }
Хорошо, этого должно быть достаточно, чтобы настроить и доказать, что автопрефиксатор и cssnano работают правильно. Обратите внимание, что я не создавал папку dist / — Gulp сделает это за меня.
Все, что вам нужно сделать, это ввести команду
gulp
в корне каталога вашего проекта.[00:12:04] Использование gulpfile ~ / Sites / startgulp / gulpfile.js [00:12:04] Запуск "по умолчанию" ... [00:12:04] Завершение "по умолчанию" через 16 мс
Теперь, если я сохраню любой из созданных мною файлов .scss …
[00:12:39] Запуск рабочего процесса ... [00:12:39] Завершение «рабочего процесса» через 32 мс
С молниеносной скоростью Gulp создал dist, мой основной файл CSS, и исходную карту для него.
А вот как выглядит результат.
Вы сделали это!
Заключение
Gulp может делать гораздо больше — в частности, я не учел всякого рода минимизацию или линтинг JavaScript — но что касается рабочего процесса Sass, то это очень полезный и эффективный процесс!
Если вы хотите поиграть с реальным примером точного рабочего процесса Gulp из этого руководства, не стесняйтесь проверить мой личный шаблон Sass.Код здесь с открытым исходным кодом, хотя я еще не завершил документацию.
Теперь, когда все ваши глобальные зависимости установлены и вы знаете, как все настроить, для запуска и запуска потребуется всего три команды. Это хороший пример того, как все первоначальные настройки для Gulp в конечном итоге того стоят:
git clone https://github.com/taniarascia/primitive.git
(Очевидно, вам необходимо иметь базовые знания об использовании Git, чтобы использовать этот метод.)
Я рекомендую вам поиграть с созданием своей собственной структуры / шаблона, чтобы узнать, как работают основы, или интеграции с установленной структурой, такой как Foundation.
Если вам нужно более подробное объяснение того, как работает поток Gulp, прочитайте больше в документации Gulp API.
Пожалуйста, дайте мне знать, если у вас возникли какие-либо затруднения или проблемы при прохождении этого руководства, чтобы я мог исправить любые потенциальные проблемы.
Google Gulp
Quench твоя жажда знаний.
Наша миссия в Google — систематизировать информацию в мире и сделать ее полезны и доступны нашим пользователям. Но полезность любой информации проистекает в удручающей степени из когнитивных способностей пользователя, который используй это. Вот почему мы рады анонсировать Google Gulp (BETA) ™ с Auto-Drink ™ (ОГРАНИЧЕННЫЙ ВЫПУСК), линия «умных напитков», разработанная чтобы максимально повысить эффективность вашего серфинга, сделав вас умнее и менее жаждущий.
Мыслите фруктами.Думайте освежающе.
Представьте себе сканер ДНК, встроенный в горлышко бутылки, считывающий все 3 гигабайта генетических данных вашей пары оснований за доли секунды, индивидуальный гормональный коктейль в режиме реального времени с использованием нашей запатентованной технологии Auto-Drink ™, и захлопнуть грузовик электролитических нейротрансмиттеров, стимулирующих умные препараты преодолеть гематоэнцефалический барьер, чтобы добиться максимальной оптимизации ваших будущих благодарностей кора головного мозга. Кроме того, в нем мало углеводов! И с разными вкусами от бета-моркови до глутамата винограда, у вас никогда не закончится способы утолить жажду знаний.Как проглотить?
Вы можете самостоятельно приобрести этот продукт с ограниченным выпуском просто сдав использованный колпачок Gulp Cap в местном продуктовом магазине. Как получить Крышка Gulp? Что ж, если вы знаете кого-то, кого уже «проглотили», они могу дать вам один. И если вы не знаете никого, кто может дать вам его, не волнуйся — это просто означает, что ты не крут. Но очень, очень (очень!) скоро будешь.Google Gulp и ваша конфиденциальность
Время от времени для повышения полезности Google Gulp для наших пользователей Google Gulp будет отправлять пакеты данных, связанных с вашим использование этого продукта от беспроводного передатчика, встроенного в базу бутылки Google Gulp в GulpPlex ™, тщательно охраняемый, массивно-параллельная серверная ферма, местонахождение которой известно только Эрику Шмидту, который несет свои GPS-координаты на заблокированной смарт-карте с 64-битным шифрованием в портфеле из нержавеющей стали, прикованном наручниками к его правому запястью.Нет лично идентифицирующая информация любого рода, связанная с использованием вами Google Gulp или любой другой текущий или будущий продукт Google Foods когда-либо будет отдан, продан, обменян, продан с аукциона, брошен в ночной покер горшок или иным образом переданы любым ненадежным третьим лицам, когда-либо, клянемся. Смотрите нашу Конфиденциальность Политика.Узнать больше
Google gulp Introduction
От леса до морозильника: история
4 великолепных вкуса: подробная информация о продукте
Часто задаваемые вопросы
Введение и установка Gulp
Gulp можно определить как средство выполнения задач или набор инструментов для автоматизации трудоемких задач, таких как увеличение, конкатенация, очистка кеша, модульное тестирование и линтинг в веб-разработке.Он использует Node.js в качестве платформы и использует код JavaScript для помощи в выполнении интерфейсных задач и крупномасштабных веб-приложений. Эти задачи можно запускать в PowerShell , Bash Scripts или других терминальных приложениях , используя командные строки.
Gulp отличается от других исполнителей задач, потому что он передает поток данных от одного плагина к другому, не создавая временный файл на диске. Задачи возвращают измененный поток данных. Gulp — это функционально-ориентированный фреймворк с прямым интерфейсом прикладного программирования, который может более эффективно изменять данные и объединять команды в цепочку.Кроме того, Gulp предпочитает код конфигурации, что делает задачи более управляемыми.
Преимущества:
- Плагины Gulp удобны для пользователя и выполняют одну задачу за раз. Плагины также могут быть созданы программистом.
- Gulp более эффективен, потому что он использует платформу Node.js для повышения скорости.
- На нем легко кодировать и тестировать веб-приложения.
Недостатки:
- Плагины Gulp могут не поддерживать функции из базовой библиотеки, если они устарели.
- Документация плагина Gulp не очень надежна, и отладка плагина может быть сложной задачей.
Плагины: Gulp имеет более 3500 плагинов. Плагины устанавливаются локально через npm . Они используются для преобразования поведения файлов, проходящих через поток данных. Плагины также могут быть условными или встроенными. Каждый плагин имеет определенную задачу и играет роль в работе с HTML и CSS, графикой, JavaScript, модульным тестированием, компиляцией или другими различными действиями.Несколько примеров плагинов, таких как gulp-responsive, gulp-inject, gulp-sass, gulp-grunt, gulp-autoprefixer, gulp-jscs и т. Д.
Предварительные условия для установки:
1. Node.js должен быть установлен в вашей системе. При настройке Node.js необходимо установить диспетчер пакетов npm .
2. Наличие любого терминального приложения, такого как PowerShell , iTerm2 , Bash Script и т. Д., В соответствии с системными требованиями.
Установка Gulp:
- Шаг 1: Откройте приложение терминала вашей системы. Для удобства скриншоты прилагаются к статье и запускаем команду ниже. -G указывает, что Gulp будет установлен в системе глобально и будет доступен для любого файла.
$ sudo npm install gulp-cli -gПримечание: Запуск от имени администратора, если он используется в Windows. Mac не предлагает такой же возможности.
- Шаг 2: Создайте каталог проекта и перейдите в этот каталог с помощью следующей команды.
$ npx mkdir intsall-проект $ cd install-project
- Шаг 3: Введите следующую командную строку в открывшемся каталоге. Эта строка гарантирует, что мы открыли каталог проекта npm . Прикрепленное изображение показывает вывод на экран после ввода командной строки. Теперь имя пакета должно быть указано пользователем маленькими буквами.Здесь введено имя пакета в качестве примера — install-project.
$ npm init{
«имя»: «установка-проект»,
«версия»: «1.0.0»,
«описание»: «проверка установки»,
«основная» »:« Index.js »,
« скрипты »: {
« тест »:« эхо \ »Ошибка: не указан тест \» && exit 1 ″
},
«автор»: «XYZ»,
«лицензия»: «ISC»
}
- Шаг 4: Следующая команда установит пакет gulp в devDependencies .
$ npm install --save-dev gulp
- Шаг 5: Чтобы проверить, что Gulp установлен глобально и локально, вы можете выполнить следующую команду.