From 538a4f61eedfc19cb84f4c03f912b0b50c9cc753 Mon Sep 17 00:00:00 2001 From: Ali Elderov Date: Fri, 10 Jun 2016 08:39:28 +0200 Subject: [PATCH] fixed errors in text --- .../ru-RU/tutorial/application-packaging.md | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/docs-translations/ru-RU/tutorial/application-packaging.md b/docs-translations/ru-RU/tutorial/application-packaging.md index b63565ed7b8e..6488ea1e19db 100644 --- a/docs-translations/ru-RU/tutorial/application-packaging.md +++ b/docs-translations/ru-RU/tutorial/application-packaging.md @@ -1,7 +1,7 @@ # Упаковка приложения Чтобы смягчить [проблемы](https://github.com/joyent/node/issues/6960) с длинными -именами под Windows, немного ускорить `require` и скрыть ваши исходные коды, вы +именами под Windows, немного ускорить `require` и скрыть ваши исходные коды, Вы можете упаковать его в архив [asar][asar], немного поменяв исходный код. ## Генерация архива `asar` @@ -25,16 +25,16 @@ $ asar pack your-app app.asar ## Использование архивов `asar` -В Electron есть два вида API: API Node, которые устанавливаются с помощью Node.Js и +В Electron есть два вида API: API Node, которые устанавливаются с помощью Node.JS и веб API, которые предоставляюся Chromium. Оба предоставляют возможность считывать из архивов `asar`. ### Node API -С специальными патчами в Electron, части Node API вроде `fs.readFile` и `require` +Со специальными патчами в Electron, части Node API вроде `fs.readFile` и `require` считают архивы `asar` виртуальными папками и файлы в них доступны как в обычных. -Например, у нас есть арихив `example.asar` в `/path/to`: +Например, у нас есть архив `example.asar` в `/path/to`: ```bash $ asar list /path/to/example.asar @@ -60,13 +60,13 @@ const fs = require('fs'); fs.readdirSync('/path/to/example.asar'); ``` -Ичпользуем модуль из архива: +Используем модуль из архива: ```javascript require('/path/to/example.asar/dir/module.js'); ``` -Вы также можете показывать веб страницы из архива `asar` через `BrowserWindow`: +Вы также можете показывать веб-страницы из архива `asar` через `BrowserWindow`: ```javascript const BrowserWindow = require('electron').BrowserWindow; @@ -76,7 +76,7 @@ win.loadURL('file:///path/to/example.asar/static/index.html'); ### Веб API -На веб страницах файлы запрашиваются с помощью протокола `file:`. Как и в Node API +На веб-страницах файлы запрашиваются с помощью протокола `file:`. Как и в Node API архивы `asar` считаются за директории. Пример получения файла с помощью `$.get`: @@ -93,7 +93,7 @@ $.get('file:///path/to/example.asar/file.txt', function(data) { ### Использование архива `asar` в качестве обычного файла -Для случаев, когда вам, например, нужно проверить хэш-сумму архива `asar`, +Для случаев, когда Вам, например, нужно проверить хэш-сумму архива `asar`, нужно использовать архив как файл. Для этой цели существует встроенный модуль `original-fs`, который предоставляет доступ к `fs` без поддежки `asar`: @@ -101,6 +101,7 @@ $.get('file:///path/to/example.asar/file.txt', function(data) { var originalFs = require('original-fs'); originalFs.readFileSync('/path/to/example.asar'); ``` + Вы также можете выставить `process.noAsar` в `true`, чтобы выключить поддержку `asar` в модуле `fs`: @@ -112,7 +113,7 @@ fs.readFileSync('/path/to/example.asar'); ## Ограничения Node API Хотя мы и старались как могли, чтобы сделать `asar` максимально похожим на папки, -всё ещё существуют некоторые ограничения из-за низкоуровневой натуры Node API. +всё ещё существуют некоторые ограничения из-за низкоуровневой архитектуры Node API. ### Архивы только для чтения @@ -121,8 +122,8 @@ fs.readFileSync('/path/to/example.asar'); ### Нельзя установить рабочую директорию в архиве -Хотя архивы `asar` и считаются папками, они ими на самом деле не являются, -так что вы не можете установить в них рабочую директорию. Передача +Хотя архивы `asar` и считаются папками, они ими на самом деле не являются ими, +так что Вы не можете установить в них рабочую директорию. Передача архивов `asar` в качестве аргумента `cwd` некоторым API также может вызывать ошибки. @@ -154,18 +155,18 @@ API которым нужна распаковка: `child_process.spawn` и `child_process.execFile`, но только `execFile` может исполнять файлы из архивов `asar`. -Так вышло потому, что `exec` и `spawn` принимают `команду` а не `файл` как параметр, +Так вышло потому, что `exec` и `spawn` принимают `команду`, а не `файл` как параметр, а `команды` исполняются в оболочке. Нет никакой реальной возможности проверить, реален ли файл или находится в архиве `asar`, и даже если мы смогли бы проверить, то неясно, как земенить путь к файлу без побочных эффектов. ## Добавление распакованых файлов в архив `asar` -Как говорилось выше, некоторые API Node будут распаковывать файлв, +Как говорилось выше, некоторые API Node будут распаковывать файлы, чтобы их использовать. Кроме увеличенного потребления ресурсов это также -может вызвать предупрждения от антивирусов. +может вызвать предупреждения от антивирусов. -Чтобы обойти это, вы можете распаковать некоторые файлы, создавая архивы, +Чтобы обойти это, Вы можете распаковать некоторые файлы, создавая архивы, с помощью опции `--unpack`. Пример показывает распаковку нативных модулей: ```bash