На днях я создал свой первый пакет npm, так что оставлю вам отчет о моем рабочем процессе. Новой информации может быть немного.
Созданный мной пакет является компонентом виртуального фона, о котором я упоминал ранее.
Вы можете использовать его, если хотите.
Резюме
Создание и публикация пакета npm в среде Typescript.
помещение
- Создайте npm-аккаунт.
- Создайте учетную запись github и репозиторий.
- Клонируйте репозиторий git и перейдите в этот каталог.
Рабочий процесс
Во-первых, давайте настроим и войдем в npm.
$ npm set init.author.name "xxxxxx" $ npm set init.author.email "[email protected]" $ npm set init.author.url "https://qiita.com/wok" $ npm adduser
Теперь инициализируйте проект и создайте package.json.
$ npm init -y
Далее вам нужно установить необходимые модули.
Поскольку мы будем создавать пакет с помощью машинописного текста, нам нужно установить Подготовка среды. «npx tsc» сгенерирует tsconfig.json.
$ npm install -D typescript @types/node $ npx tsc --init
Мы настраиваем файл tsconfig.json для создания файла объявления, чтобы люди, использующие пакет, могли использовать вывод типов. Я также создам исходную карту, чтобы упростить отладку. Это мое предпочтение. Вывод должен быть «. /dist», чтобы соответствовать тем, что описаны в разных местах. Модуль нужно менять в зависимости от назначения, но я в этом не очень разбираюсь. В данном случае я использую esnext.
Если вы используете esnext, вам нужно изменить moduleResolution на node. Сборка вроде не проходит.
"declaration": true, "sourceMap": true, "outDir": "./dist", "module": "esnext", "moduleResolution": "node",
На этом этапе можно приступать к написанию исходного кода. (На самом деле я скопировал и вставил исходный код.)
Затем скомпилируйте. Если ошибок нет, вы должны увидеть следующий вывод файла.
$ npx tsc $ ls dist/ index.d.ts index.js index.js.map
Далее мы изменим package.json и установим для вас точку входа.
В этом случае описание будет выглядеть так.
"main": "dist/index.js",
В то же время информация о пакете включена в package.json. Имя автоматически устанавливается на имя репозитория, но если это имя уже используется (кем-то другим), это приведет к ошибке при публикации. Так настройте его так, чтобы он не был таким же. Сообщение об ошибке бессмысленно, поэтому в него сложно попасть. Я думаю, что сообщение было чем-то вроде «безопасность — это проблема».
"name": "local-video-effector", "author": "xxxxxx <[email protected]> (https://qiita.com/wok)", "license": "Apache-2.0",
После этого вы почти готовы к публикации.
Добавьте информацию о версии и синхронизируйте ее с вашим репозиторием git, чтобы вы могли анализировать ее при возникновении проблемы. будет легко.
npm version patch git tag -a v1.x.x git commit git push
Наконец, опубликуйте, и все готово. Спасибо за уделенное время.
В следующей статье я опишу разработку демо с использованием пакета виртуального фона, который я создал здесь.
Увидимся скоро.