0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Использование JavaScript-консоли в браузерах

Использование JavaScript-консоли в браузерах

Сегодня мы публикуем заметку, посвящённую особенностям использования JavaScript-консоли в браузерах, лежащим за пределами широко известной команды console.log() . Собственно говоря, эта команда представляет собой простейший инструмент для отладки программ, который позволяет выводить что-либо в консоль. Однако знание некоторых особенностей этого инструмента позволит тем, кто им пользуется, повысить эффективность работы.

Что такое консоль?

Консоль JavaScript — это механизм, интегрированный в современные браузеры, который поддерживает встроенные инструменты разработки в интерфейсе, напоминающем командную строку. С использованием консоли разработчик может делать следующее:

  • Просматривать журналы ошибок и предупреждений, возникающих на веб-странице.
  • Взаимодействовать с веб-страницей, используя команды JavaScript.
  • Отлаживать приложения и работать с DOM непосредственно из браузера.
  • Исследовать и анализировать сетевую активность.

В целом, консоль даёт разработчику возможность писать JavaScript-код прямо в браузере, наблюдать за тем, что происходит на страницах, и управлять этими процессами.

Команды консоли

Вот весь список консольных команд, доступных в OpenTTD. Скобки [] означают «опционально». Вертикальная линия | означает «или». Наиболее полезные команды вынесены в верхнюю часть списка. Этот список так же доступен в алфавитном порядке. Помните, что знаки кавычек тоже должны быть написаны в консоли!

Команды помощи

КомандаОписание
help [ ]Выводит стандартную подсказку по консоли, уточните для помощи по конкретной команде или переменной.
list_cmds [ ]Выводит все доступные команды, опционально только команды, начинающиеся с .
list_vars [ ]Выводит все зарегистрированные переменные, опционально только переменные, начинающиеся с .
list_aliasesВыводит все доступные алиасы.
list_patchesВыводит все Расширенные настройки.

Игровые команды

Эти команды работают также при сетевой игре и на серверах.

КомандаОписание
newgameНачать новую игру.
restartПерезапустить игру.
connectПодсоединиться к сетевой игре, запущенной на . Недоступно для сервера.
reconnectПереподключиться к предыдущему серверу. (Добавлено в версии r17466, начиная с версии 1.0/в ночных сборках)
saveСохранить текущую игру как или .
loadЗагрузить сохраненную игру или .
partВыйти из запущенной игры и вернуться в меню. Недоступно для серверов.
exit / quitВыйти из игры.
Читать еще:  Гибернация в Windows: различные способы включения и отключени?

Команды многопользовательского режима

Эти команды используются для управления многопользовательским сервером. Некоторые команды работают также для подключенных клиентов.

когда подключен как клиент. Пароль можно установить локально на сервере командой «rcon_pw

Настройка ¶

Как видно из приведённого выше кода, консольное приложение использует свой собственный файл конфигурации, названый console.php . В этом файле вы должны произвести настройку различных компонентов приложения и свойств консольного приложения.

Если ваше веб и консольное приложение имеет много общих параметров конфигурации, вы можете выделить общую часть в отдельный файл, и включить его в оба файла конфигурации (веб и консоль). Вы можете посмотреть пример в «продвинутом» шаблоне проекта.

Подсказка: Иногда, вам может потребоваться запустить консольную команду используя конфигурацию, отличную от той, что указано во входном скрипте. Для примера, вы можете использовать команду yii migrate для обновления тестовой базы данных, которая настраивается для каждого отдельного набора тестов. Для изменения файла конфигурации, просто укажите свой конфигурационный файл через опцию appconfig при запуске команды:

Команды console.warn() и console.error()

В зависимости от ситуации, для того чтобы подчеркнуть важность некоторых сообщений, выводимых в консоль, вам могут пригодиться команды console.warn() и console.error() . Они используются, соответственно, для вывода предупреждений и ошибок.

Предупреждения и ошибки

Возможно, вам пригодится и команда console.info() , которая предназначена для вывода информационных сообщений.

В настройке внешнего вида сообщений, выводимых в консоль, можно пойти и ещё дальше, самостоятельно их стилизовав. Для стилизации текстов, выводимых в консоль, можно воспользоваться директивой %c . Это может оказаться полезным, например, для организации визуального разделения сведений, поступающих от подсистем выполнения обращений к неким API, от подсистем, ответственных за обработку событий, генерируемых пользователем, и так далее. Главное тут — выработать некие правила стилизации и их придерживаться. Вот пример настройки внешнего вида данных, выводимых в консоль:

Тут же можно настраивать и другие CSS-свойства текста, наподобие font-size и font-style .

Стилизация данных, выводимых в консоль

Safari (браузер для Mac, не поддерживается в системах Windows/Linux) всё же имеет небольшое отличие. Для начала работы нам нужно включить «Меню разработки» («Developer menu»).

Откройте Настройки (Preferences) и перейдите к панели «Продвинутые» (Advanced). В самом низу вы найдёте чекбокс:

Теперь консоль можно активировать нажатием клавиш Cmd + Opt + C . Также обратите внимание на новый элемент меню «Разработка» («Develop»). В нем содержится большое количество команд и настроек.

Методы console.trace и console.assert

Методы console.trace() и console.assert() позволят выводить из места их вызова информацию о стеке. Представьте себе, что вы занимаетесь разработкой JS-библиотеки и хотите сообщить пользователю о том, где возникла ошибка. В подобном случае эти методы могут оказаться весьма полезными. Метод console.assert() похож на console.trace() , разница между ними заключается в том, что console.assert() выведет данные лишь в том случае, если не выполнится переданное ему условие. Вот как работать с этими методами.

Читать еще:  Программа для хранения паролей. Программа для сохранения паролей. Где хранить пароли. Обзор LastPass

Несложно заметить, что вывод, генерируемый этим фрагментом кода, выглядит так же, как нечто подобное выглядело бы в React (или в любой другой библиотеке), когда фреймворк сообщает о возникновении исключения.

Результат использования команд console.assert() и console.trace()

Команды консоли

Вот весь список консольных команд, доступных в OpenTTD. Скобки [] означают «опционально». Вертикальная линия | означает «или». Наиболее полезные команды вынесены в верхнюю часть списка. Этот список так же доступен в алфавитном порядке. Помните, что знаки кавычек тоже должны быть написаны в консоли!

Команды помощи

КомандаОписание
help [ ]Выводит стандартную подсказку по консоли, уточните для помощи по конкретной команде или переменной.
list_cmds [ ]Выводит все доступные команды, опционально только команды, начинающиеся с .
list_vars [ ]Выводит все зарегистрированные переменные, опционально только переменные, начинающиеся с .
list_aliasesВыводит все доступные алиасы.
list_patchesВыводит все Расширенные настройки.

Игровые команды

Эти команды работают также при сетевой игре и на серверах.

КомандаОписание
newgameНачать новую игру.
restartПерезапустить игру.
connectПодсоединиться к сетевой игре, запущенной на . Недоступно для сервера.
reconnectПереподключиться к предыдущему серверу. (Добавлено в версии r17466, начиная с версии 1.0/в ночных сборках)
saveСохранить текущую игру как или .
loadЗагрузить сохраненную игру или .
partВыйти из запущенной игры и вернуться в меню. Недоступно для серверов.
exit / quitВыйти из игры.

Команды многопользовательского режима

Эти команды используются для управления многопользовательским сервером. Некоторые команды работают также для подключенных клиентов.

когда подключен как клиент. Пароль можно установить локально на сервере командой «rcon_pw

Создание ваших собственных команд ¶

Консольный контроллер и действие ¶

Консольная команда определяется как класс контроллера расширяющий yiiconsoleController. В классе контроллера, вы определяете одно или несколько действий, которые соответствуют суб-командам контроллера. В каждом действии вы пишете код, который реализует соответствующие данной суб-команде задачи.

При запуске команды, вам необходимо указать маршрут к действию. Например, маршрут migrate/create вызывает суб-команду, которая соответствует методу MigrateController::actionCreate(). Если маршрут, предложенный при вызове команды, не содержит указания идентификатора действия, будет вызвано действие по умолчанию (так же как и в веб приложении).

Читать еще:  Сбросить пароль Windows через реестр

Опции ¶

Для переопределения yiiconsoleController::options() метода, вы можете указать опции, которые доступны в консольной команде (controller/actionID). Метод должен возвращать список публичных атрибутов класса. При запуске команды вы можете указать значение опций, используя синтаксис —OptionName=OptionValue . Это свяжет OptionValue с атрибутом OptionName класса контроллера.

Если значение по умолчанию опции — это массив, то при установке этой опции, при выполнении команды, значение будет преобразовано в массив путём разделения входящей строки по запятым.

Аргументы ¶

Кроме опций, команда может получать аргументы. Аргументы будут переданы в качестве параметров в метод действия, соответствующего запрошенной суб-команде. Первый аргумент соответствует первому параметру, второй соответственно второму, и так далее. Если переданных аргументов при вызове команды будет недостаточно, то параметрам будут назначены по умолчанию, если они определены. Если значения по умолчанию не определены, и не были переданы, команда завершит выполнение с ошибкой.

Вы можете использовать указание типа array , чтобы указать, что аргумент должен рассматриваться как массив. Массив будет сгенерирован путём разделения входной строки по запятым.

Псевдонимы опций ¶

Начиная с версии 2.0.8 в классе консольной команды доступен метод yiiconsoleController::optionAliases(), позволяющий добавлять псевдонимы для опций.

Для того, чтобы задать псевдоним, перекройте метод yiiconsoleController::optionAliases() в вашем контроллере:

Теперь для запуска команды можно использовать следующий синтаксис:

Следующий пример показывает как описывать аргументы:

Код возврата ¶

При разработке консольного приложения принято использовать код возврата. Принято, код 0 означает, что команда выполнилась удачно. Если команда вернула код больше нуля, то это говорит об ошибке. Номер, который был возвращён при ошибке, потенциально может быть использован для поиска более детальной информации об ошибке. Для примера 1 может указывать на неизвестную ошибку, а все коды выше могут быть зарезервированы под специфичные ошибки: ошибки ввода, повреждённые файлы, и что-то другое.

Для того, чтобы ваша консольная команда возвращала код возврата, просто верните целое число в методе действия контроллера:

Есть несколько предопределённых констант, которые вы можете использовать:

Хорошая практика, определять значимые для вашего контроллера константы в случае, если вы используете больше типов ошибок.

Форматирование и цвета ¶

Консоль Yii поддерживает форматирование вывода, который автоматически деградирует до не форматированного, если это не поддерживается в терминале, где запускается команда.

Вывод форматированных строк прост. Вот как можно вывести некоторый жирный текст:

Если вам нужно собрать строку динамически объединяя несколько стилей, лучше использовать ansiFormat():

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector