Введение
Как разработчики, мы могли бы захотеть создать новые рамки или пакеты, используемые компоненты, функции и т. Д. Надеюсь, как разработчики JavaScript у нас есть NPM!
Мы также можем использовать TeampScript Чтобы добавить слой безопасности на вершине JavaScript Plus более продвинутый дизайн OOP
Итак, что насчет того, что мы создаем пакет NPM, который будет доступен для проектов JavaScript, но наиболее главное напечатанные проекты?
Пойдем и посмотрим, как мы это делаем в Monisnap Действительно
Начиная
(Я предполагаю, что у вас установлены Nodejs и Teadncript)
Сначала создайте новую папку и откройте вкладку терминала и введите:
npm init -y
Это в основном инициализирует ваш пакет NPM, создавая Package.json с некоторыми параметрами по умолчанию (мы вернемся к этому позже)
а также
tsc --init
Это также инициализирует проект для использования TymerctScript, создавая TSConfig.json, который содержит важные параметры, определяющие, как будет обработать ваш тип TeampStry.
Так что теперь вы должны иметь этот :
Хорошо ? следующий !
Теперь мы можем написать какой-нибудь код:)
Создайте папку «SRC» и два файла в нее «index.ts» и «Unicorn.ts» (да, я люблю Unicorns)
Unicorn.ts.
export class Unicorn { public sayHelloTo(name: string): string { return `🦄 Hello ${name} !`; } }
индекс
export * from "./unicorn";
Теперь нам нужно редактировать tsconfig.json (скопируйте/вставьте следующее)
{ "compilerOptions": { "declaration": true, "strictNullChecks": true, "target": "es5", "outDir": "dist", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "lib": ["es2015", "dom"], "rootDir": "src" }, "include": ["src"], "exclude": ["node_modules", "dist"] }
Давайте охвачем важные варианты:
- Декларация: Он говорит TeampScript для создания текста (важно, если мы хотим некоторые «автоматические» документы для нашего кода
- Цель: Укажите целевую версию ES (я выбрал ES5 здесь, потому что я нацеленную Nodejs)
- прертисс: Составленные файлы назначения
- Резолюция модуля/модуля: Я использую Commonjs/Nodejs как его модульная система на Nodejs
- SourceMap: Важный Если вы хотите, чтобы исходная карта сможет отладить код TeampScrient напрямую
- rootdir: Корневая папка, где наш код.
Теперь мы можем редактировать package.json :
{ "name": "unicorn-says-hello-world", "version": "1.0.0", "description": "A unicorn that says hello world", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ "dist" ], "scripts": { "build": "tsc", "prepare": "npm run build" }, "repository": { "type": "git", "url": "git+https://github.com/monisnap-jason/unicorn-says-hello-world.git" }, "keywords": [], "author": "monisnap-jason", "license": "ISC" }
Опять важные варианты:
- Имя: Название вашей пакеты на НПМ
- Главная: Точка входа (наш код будет скомпилирован в папке Dist)
- Типы: Путь наших текстов
- Файлы: Файлы, которые мы хотим включить в нашем пакете
- Сценарии:
- построить: TSC для компиляции нашего кода
- Подготовьте: Это NPM-крючок, который выполняет команду перед публикацией NPM (мы говорим, что выполнить команду сборки выше)
- Репозиторий: Варианты о репозитории, который содержит код пакета
Нам также нужен .gitignore Файл (как мы не хотим включить несколько папок в наш репозиторий):
\dist \node_modules
И наконец, вы можете создать Readme.md Сказать миру, как использовать ваш пакет.
Мы почти закончили!
Теперь окончательный прикосновение:
npm publish
Вы должны увидеть это в вашем выходе терминала: «+ your-package-name @ 0.0.0»
И Voilà Ваш пакет на NPM Вот мой для справки Единорог-говорит-Hello-World
Теперь, если я хочу использовать свой новый пакет, мне просто нужно ?| NPM Установить Unicorn-Weal-Hello-World в новом или существующем проекте, и я могу использовать это так:
Снимите комментарий ниже, если у вас есть какие-либо вопросы!
Иметь хороший:)
Оригинал: “https://dev.to/monisnap/5-min-typescript-npm-package-4ce4”