Автор оригинала: Edax Filander Ucles Hernandez.
Во-первых, мы должны иметь представление о том, что они являются пакетами NPM. Конечно, если кто-то строит приложение в Node.js, я представляю, что они знают, но они могут посетить следующую ссылку, чтобы узнать, как начать с Node.js.
01 – Что такое НПМ? |. NPM Документация Место, где все вещи NPM документируются Отказ
Вот учебник о том, как сделать спокойный API:
Построить спокойную API с помощью узла и экспресс 4 С выпуском Express 4.0 просто … Scotch.io Отказ
11 – создание модулей Node.js | NPM Документация Место, где все вещи NPM документированы
Обычно, когда мы хотим использовать какую-то утилиту в нашем приложении узла, мы используем функции, определенные в файле, а затем экспортируйте их как класс утилиты, чтобы использовать его, где нам это нужно.
Это становится немного сложной и не является хорошей практикой, если вам нужно использовать этот класс в нескольких проектах.
В нашем модуле у нас есть два важных файла: index.js и package.json. С помощью команды NPM init, мы создали наш Package.json, как показано ниже:
mkdir xtreme-math && cd xtreme-math npm init { "name": "xtreme-math", "version": "1.0.0", "description": "Mi primer paquete", "main": "index.js", "scripts": { "test": "npm test" }, "repository": { "type": "git", "url": "git+[https://github.com/f1lander/xtreme-math.git](https://github.com/f1lander/xtreme-math.git)" }, "keywords": [ "npm", "module", "package" ], "author": "f1lander", "license": "MIT", "bugs": { "url": "[https://github.com/f1lander/xtreme-math/issues](https://github.com/f1lander/xtreme-math/issues)" }, "homepage": "[https://github.com/f1lander/xtreme-math#readme](https://github.com/f1lander/xtreme-math#readme)" } Is this ok? (yes)
Файл Package.json определяет файл, к которому наши модульные точки:
"main": "index.js"
Мы экспортируем все классы, которые мы хотим использовать.
Мы также создадим файл .js, который будет содержать наш класс:
touch math.js
Теперь в файле, который мы только что создали, мы сделаем наш класс, который будет содержать функции:
"use strict"; class Math { constructor(number) { this.number = number; } /* This function will return the square of the number that the constructor of this class receives.*/ square(){ return this.number * this.number; } } module.exports = Math;
Как только мы создам наш класс, который содержит квадратную функцию, мы должны экспортировать класс в качестве модуля, а затем в файл index.js, который мы определяем в качестве пакета Main.
const math = require("./math"); module.exports = math;
Легко, верно?
После того, как у нас будет наш пакет, готовый к использованию в качестве модуля в другом проекте, мы можем сделать установку непосредственно из нашего хранилища в GitHub или локально.
Github:
npm install --save [https://github.com/f1lander/xtreme-math](https://github.com/f1lander/xtreme-math/tarball/master).git /* note: if they want to install from a specific branch for example "master" */ npm install --save [https://github.com/f1lander/xtreme-math](https://github.com/f1lander/xtreme-math/tarball/master)/tarball/master To install the local file package, you must edit the package.json and add the file path to the dependencies. "dependencies": { "xtreme-math": "file:/Users/Doom/Desktop/xtreme-math" } You will notice that in your package.json file, we added the package we just installed. // github "dependencies": { "xtreme-math": "git+[https://github.com/f1lander/xtreme-math.git](https://github.com/f1lander/xtreme-math.git)" } // archivo local previamente editado. "dependencies": { "xtreme-math": "file:/Users/Doom/Desktop/xtreme-math" }
Примечание. Этот тип класса, который не зависит от другой зависимости, может быть использован в качестве «Devdependonds». Вот ссылка, объясняющая различия:
В чем разница между зависимостями, DevDependonds и PeerDependonds в пакете NPM … Резюме важных различий в поведении: связанные варианты не обсуждаются здесь: для запуска требуются зависимости … stackoverflow.com Отказ
Однажды сделано, мы можем использовать наш пакет Xtreme-Math в нескольких проектах.
Пример будет:
"use strict"; const xtreme_math = require("xtreme-math"); const number = 2; const math = new xtreme_math(number); console.log(`The square of ${number} is: ${math.square()}`); //The square of 2 is: 4
Я надеюсь, что этот небольшой учебник был полезен для вас.
Edax uclés.