Node.js - изменение содержимого node_module

Дело вот в чем, я скачал модуль узла. Но пришлось доработать код библиотеки.

Теперь я хочу загрузить свой код в heroku, но heroku установит зависимости файла package.json, и код библиотеки не изменится.

Так есть ли способ поместить этот модуль вне папки node_modules?

Единственные ссылки на библиотеку находятся в файле package.json. А в программе к библиотеке обращается один файл.

var containerVar = require('modified_module');

Почему бы не загрузить его вручную и не переместить за пределы node_modules? И зафиксируйте это с помощью кода

Vipin Kumar 03.09.2018 13:08

И как мой код назовет это? Я имею в виду команду require

user1584421 03.09.2018 13:12
var containerVar = require('path/to/modified/module'). Если вы не хотите использовать относительные пути, отметьте здесь gist.github.com/branneman/8048520
Vipin Kumar 03.09.2018 13:14

@ user1584421 Проверьте это. ответ, который я дал несколько дней назад. ссылка на сайт

Torab Shaikh 03.09.2018 13:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
1 253
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете разместить свой измененный (локальный) пакет на Github и установить его оттуда.

Например, если я изменил модуль redis, я могу загрузить измененный пакет на Github и сказать своему приложению, что нужно установить его из Github, а не из NPM.

Зависимая часть моего файла package.json будет выглядеть так

"dependencies": {
    "moment": "^2.22.2",
    "redis-modified": "github:username/redis-modified",
}

Вы можете использовать его как любой обычный модуль

var redis = require("redis-modified");

Таким образом, вы будете создавать новую версию пакета и размещать ее.

Ответ принят как подходящий

Лучше написать свой собственный модуль. Итак, возьмите модуль, который вам нужен, измените его содержимое, как вы уже сделали, и в его package.json дайте ему свое новое имя. Вы даже можете опубликовать его на npm. Вам нужно только зарегистрироваться в npm. Затем вы можете вызвать в своих проектах модуль package.json, который вы опубликовали, и ваша проблема будет решена.

Разве неэтично публиковать его как собственный пакет? Я имею в виду, что я внес лишь незначительные изменения в существующий пакет, чтобы удовлетворить свои потребности.

user1584421 03.09.2018 13:40

Вы можете добавить в описание в package.json, что это модуль для особых / индивидуальных нужд. Добавьте URL-адрес в репозиторий исходного модуля и объясните, что и почему вы его изменили.

Lazar Nikolic 03.09.2018 13:48

Другие вопросы по теме