или напишите исполняемый файл на javascript.
В npm вы можете устанавливать пакеты с исполняемыми файлами локально.
Цель этой статьи - объяснить, как запустить локально установленный исполняемый файл, а также показать некоторые удобные команды, которые я использую в своих проектах.
Поскольку вы собираетесь использовать окно терминала, я рекомендую использовать консольный эмулятор cmder, а не командную строку Windows (cmd). Намного лучше то, что предоставляет нам красочную консоль и команды Linux в Windows.
Создайте папку проекта
Используя окно терминала, создайте каталог для проекта и перейдите в этот каталог.
mkdir hello cd hello
Создайте подпапку приложения в корневом каталоге проекта:
mkdir src mkdir dist mkdir bin
Создать файлы конфигурации
package.json определяет зависимости пакета npm для проекта.
npm init
Вы можете использовать npm init
для создания package.json
. Вам будет предложено ввести значения для полей package.json
. Два обязательных поля - это имя и версия. Вы также захотите иметь значение для main. Вы можете использовать значение по умолчанию index.js
.
После создания вашего package.json
файла вам необходимо добавить следующее содержимое:
"main": "dist/index.js", "bin": { "hello": "./bin/hello" }, "preferGlobal": true
После этого ваш package.json должен выглядеть так:
tsconfig.json определяет, как компилятор TypeScript создает JavaScript из файлов проекта.
Создайте файл src/tsconfig.json
со следующим содержанием:
Создайте свое приложение Hello
Создайте файл bin/hello
(без расширения) со следующим содержимым:
Это просто означает, что сценарий должен выполняться с первым исполняемым файлом с именем «node», который находится в вашем текущем PATH.
Знак shebang (#!) В начале означает выполнение сценария следующим образом. / bin / env - это стандартная программа Unix, которая проверяет вашу текущую среду. Любой аргумент не в формате «имя = значение» является командой для выполнения. Дополнительную информацию см. На странице вашего руководства по env.
Настройка VS Code
Теперь откройте свой проект с помощью VSCode IDE. вы можете сделать это, просто используя окно терминала
code .
Сначала проверьте, есть ли все обновления и готовы ли вы использовать vscode. это можно сделать с помощью меню справки ›проверка обновлений.
Настроить - скрыть файлы .js и .js.map, если у вас есть ts файл
VS Code предоставляет две разные области для настроек:
- Пользователь: эти настройки применяются глобально к любому открытому экземпляру VS Code.
- Рабочее пространство: эти настройки хранятся внутри вашего рабочего пространства в папке
.vscode
и применяются только тогда, когда рабочее пространство открыто. Параметры, определенные в этой области, переопределяют область действия пользователя.
Вы можете выбрать, какие настройки вы хотите изменить.
Допустим, пользовательские настройки для этого приложения.
Меню в разделе Файл ›Настройки (Код› Настройки на Mac) содержит записи для настройки параметров пользователя и рабочего пространства. Вам предоставляется список настроек по умолчанию. Скопируйте любые настройки, которые вы хотите изменить, в соответствующий settings.json
файл.
Убедитесь, что вы изменили файл settings.json (справа от VS Code IDE).
Скопируйте следующий контент в settings.json:
Сохрани и закрой.
Настроить - машинописный текст в javascript
Для этого откройте палитру команд с помощью Ctrl + Shift + P и введите Configure Task Runner, нажмите Enter, чтобы выбрать его.
Выберите TypeScript - tsconfig.json. Это создаст tasks.json
файл в папке .vscode
рабочей области.
Содержимое файла tasks.json выглядит так:
Такой же как:
tsc -p ./src
Сохраните tasks.json и закройте.
Напишите Hello world с VS Code
Создайте файл src/index.ts
со следующим содержанием:
Теперь нажмите Ctrl + Shift + B, чтобы скомпилировать проект. Вы должны заметить, что файлы index.js и index.js.map были созданы после сборки в папке dist.
каждый раз, когда вы изменяете ts-файл, вы должны компилировать проект, чтобы vscode можно было преобразовать в javascript с помощью tsconfig.json.
потому что в нашем tsconfig.json мы установили для каталога distDir значение dist, поэтому файл компиляции должен находиться в каталоге dist.
Создать тарбол из пакета
Запустите эту команду в папке hello из окна терминала,
npm pack
эта команда загрузит его в кеш, а затем скопирует архив в текущий рабочий каталог как <name>-<version>.tgz
, а затем запишет имена файлов в стандартный вывод.
У вас должен быть файл hello-1.0.0.tgz в папке hello.
Установить пакет
npm i hello-1.0.0.tgz -g
Запустить пакет
hello
вывод должен быть
Hello World
Что только что случилось?
Сначала наш hello-пакет скопирован в глобальную папку npm.
winkey+r > appdata > navigate to Roaming\npm\node_modules
Вы можете увидеть пакет там.
Во-вторых, вы можете увидеть в папке npm два файла: hello и hello.cmd
Магия
Когда мы запускаем hello, cmd сопоставляет файл hello.cmd и выполняет его.
hello.cmd просто запустите узел с нашим файлом, как мы определили.
Это волшебство:
@IF EXIST “%~dp0\node.exe” ( “%~dp0\node.exe” “%~dp0\node_modules\hello\bin\hello” %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node “%~dp0\node_modules\hello\bin\hello” %* )
просто как запустить: узел myfile.js
Итак, что мы узнаем?
- как создать пакет в npm
- конфигурация vscode для преобразования машинописных текстов
- Как публиковать пакеты локально и использовать их.
- как запускать файлы javascript с помощью движка узлов в командной строке.
- Небольшой вкус знакомства с особенностями npm exec
Удачного кодирования и написания статей о кодировании!
Если вы нашли это полезным, нажмите 💚 ниже. Следуйте за мной, чтобы увидеть больше статей о технологиях и на github
Https://github.com/wizardnet972