Вопросы с тегами [npm-link]

0

голосов
0

ответ
2

Просмотры

NPM-ссылка на стороне проекта на пакеты monorepo в

Я пытаюсь использовать JS monorepo другого пользователя Github в проекте сидит в одной и той же корневой папке. / Проект / редактор monorepo / проект / мой-проект, который я попытался с помощью CD / проект / моего-проект НОЙ-ссылка ../ редактора monorepo / пакетов / package1 ... Хотя это не дало никаких ошибок в консоли, мой-проект Сейчас завершается с некоторыми ошибками в одном из Lib папки monorepo пакета. Monorepo проект является ORY-редактор, и я не вижу, как использовать версию Github в моем проекте, так как версия NPM устарела.
steakoverflow
1

голосов
0

ответ
244

Просмотры

Чтобы разъединить НУЮ ссылку без установки

В настоящее время я работаю над проектом пользовательского интерфейса нескольких модулей, где каждый модуль нужно построить с помощью NPM плагинов (например, копирование, concate, хрюкать и т.д.). Теперь, как было большое количество модулей, а также для создания каждого модуля, требуется загрузка node_modules пакетов локально, которая занимает много времени, что я сделал это только что скачал глобально из родительского пакета. Но все-таки на строительство суб-модулей, его метательные пакеты ошибок не найден локально (например, хрюкать не найден на месте и т.д.), так, чтобы решить эту проблему, я создал символическую ссылку с помощью команды НПМ ссылки в каждом модуле, который создает локальные node_modules реж в каждом модуле и просто работает нормально. Но главный вопрос после сборки каждого модуля, мне нужно разъединить там пакеты node_modules. Если я с помощью команды: НПМ Unlink, то он unstalling PKG во всем мире, что делает упак реж пусто, что это то, что я не хочу. Мне просто нужно разъединить из суб-модулей, но НЕ удалить глобально. Я гугл, но я просто найти НПЕ разъединить в виде раствора. Даже если я вычеркивания node_modules реж из суб-модулей, также удалить его глобально. Любое решение.
Chandra
1

голосов
1

ответ
231

Просмотры

Использование vuex магазина с NPM-ссылку в вю-Cli 3 проекта теряет $ магазин

Я думаю, что это проблема конфигурации, связанных с ведением хранить в папке НПМ связаны между собой. Я сделал VUE-кли 3 проекта и получил «счетчик» пример работает (от https://github.com/vuejs/vuex/tree/dev/examples/counter) Работает: Когда я перенесу store.js к установленному node_modules пакет (и обновить свой импорт URL) продолжает работать. Перерывы: Когда я перенесу store.js к НПМ связанного node_modules пакета, который он компилирует и средства разработки находит магазин, но я получаю пустой экран и консольный ошибку в: Свойство или метод «$ магазин» не определен на экземпляре, но упоминаться во время рендеринг Он также работает должным образом со связанным пакетом, если я построю свернутые JS (НПМ запуск сборка). Есть ли настройки конфигурации я не хватает?
Nathaniel Rink
1

голосов
1

ответ
1k

Просмотры

НАЯ установка после NPM канального ИНГА локального модуля вызывает ошибку: не найдены

package.json модуль-А имеет модуль-B в списке зависимостей «зависимости»: { «@ mynamespace / модуль-б»: «^ 0.0.1», модуль B является локальным модулем и успешно связан с модулем A с НПМ ссылка на сайт. Компиляция / погонный вещи все идет хорошо, и хорошо. Однако, когда я пытаюсь установить какой-либо новый модуль в модуле А с НПМ установить что-то или просто запустить НПЙ установить или НПЕ деинсталлировать то, что я всегда получаю ошибку от НОГО, что локальный модуля (который является NPM канального ред) не найден. C: \ Web \ модуль-б> NPM установить НУЮ ERR! Код E404 НОЙ ERR! 404 Not Found: @ mynamespace / модуль-б @ ^ 0.0.1 Я проверил основное свойство в package.json в обоих модулях, как предложено здесь. Есть несколько подобных вопросов, но ни один не кажется, именно эта проблема или дать решение, которое работает. Сейчас я м вручную удалить все упоминания о связанных модулях из package.json, то я бег команд НПХ, и чем добавить их в package.json Im используя НПЙ 6.1.0 Edit: Ах, это может иметь решающее значение? @ Mynamespace / модуль-б еще не существует в НОМ реестре, только локально
Flion
2

голосов
0

ответ
33

Просмотры

НПМ установки стирает любые связанные модули

Скажем, я НАЯ ссылка ModuleA, а затем в projectB я бег НОЙ ссылки ModuleA, то я ветер с линком к ModuleA в projectB / node_modules / ModuleA. Однако, если я запустить НПЙ установить в projectB, то ModuleA теперь отсутствует projectB / node_modules, и я должен запустить НУЮ ссылку ModuleA снова. Его есть способ сохраняться НПМ link'd модулей между НПМ устанавливает?
Alex Bollbach
3

голосов
1

ответ
132

Просмотры

PHP Есть ли эквивалент НОЙ ссылку для композитора?

Когда я занимаюсь разработкой модуля JavaScript, я могу использовать НУЮ ссылку, чтобы установить свою локальную версию развития в местных проектах, которые используют модуль в качестве зависимости. Это отличный рабочий процесс. Он не развивается в месте, о котором я думаю, что это хуже, чем TDD, но его путем более простой способ сделать интеграционное тестирование и ручные КИ, я думаю. В Composer, я могу, если это возможно, заставить пакет для установки с помощью Git, поэтому я могу развиваться на месте. Хороший, но не большой. Короткая версия вопроса: Можно ли сказать, композитор временно установить зависимость от мерзавца репо / набор файлов в моей локальной файловой системе и контролировать связь с композитором CLI?
JPollock
3

голосов
0

ответ
323

Просмотры

WebPack - горячая перезагрузка на связанных изменениях node_module

В моей локальной среде, у меня есть мой основной проект (A), которая связывает с другим проектом / локальную библиотеку (B) с помощью NPM ссылки. Когда я делаю обновление для Project B, я должен запустить сборку, а затем повторно утверждать ссылку. После этого завершается, я тогда придется заново компилировать Project A через WebPack путем внесения изменений в файл в Project A. Проект B зарегистрирован через глобальные. Есть ли способ для Webpack горячей автоперезагрузки на обнаружение глобального изменения пакета?
Plummer
19

голосов
2

ответ
462

Просмотры

Разница между `НПМ ссылка x` и` НПМ установки / путь / к / x`

Я думал, что я понял разницу между НОЙ линией х и НОЙ установить / локальный / путь / к / х изначально я думал, что бывшее создал символическую ссылку на й, а второй установлен отдельного экземпляра х в проекте, а не символической ссылке его. Однако, недавно я заметил, что мое первоначальное впечатление было не так, и они оба, кажется, используют символические ссылки - так есть разница между этими двумя, и что это?
Alexander Mills
19

голосов
5

ответ
4.8k

Просмотры

Реагировать Native: НПМ связать локальную зависимость, не в состоянии решить модуль

Я занимаюсь разработкой пользовательского интерфейса пакета кнопки для реакции родных. Я пытаюсь построить пример проекта, чтобы проверить эту кнопку. Структура каталогов выглядят следующим образом: моя кнопка / package.json index.js index.js пример / package.json Я пытаюсь использовать НУЮ ссылку: CD моей кнопку НОЙ ссылку пример CD НПЙ свяжут свою кнопку В примере / node_modules / Я могу видеть, что мой-кнопочный линке, VSCode может также автоматически полная функция в моей кнопке пакете. Но выполнить пример приложение покажет сообщение об ошибке: Не удается разрешить модуль моей кнопки ... Модуль не существует на карте модуля или в этих каталогах: ... Но путь в сообщении об ошибке правильно. Не знаю, где я был неправ, или в React-Native есть специальный способ борьбы с рычажной местной зависимостью? Я также попытался НПМ установить файл: ../ .. Это прекрасно работает таким образом,
Rick Liao
4

голосов
1

ответ
605

Просмотры

Угловая 5 - Как создать файлы определения

Я пытался несколько способов, но я не в состоянии понять, как генерировать файлы определения для моего проекта. У меня есть два угловой кли генерируемых приложений A и B, я хочу, чтобы потреблять В качестве пакета (с НОЙ ссылкой). Насколько я понимаю, мне нужно создать index.ts файл в проекте B со всеми модулями, которые я хочу, чтобы экспортировать и запустить команду «нг сборки». Я видел, что создает только пучки, но не файлы определения, как я могу генерировать файлы определения? Это правильный подход ?. Я пробовал некоторые другие варианты, как «накопительный пакет» и «ngmakelib», но это, кажется, довольно трудно сделать эту простую задачу. У нас есть простой способ создания Угловой 5 проектов в библиотеках и потребляют, что библиотеки из других проектов?
Alejandro Morán
5

голосов
1

ответ
93

Просмотры

Пропуск НОЙ установки при работе НОЙ ссылки

Я уже установлено node_modules, и я хочу, чтобы запустить НУЮ ссылку, есть способ SKIL НОЙ установки фазы при работе НОЙ ссылки, что-то вроде: НОЙ ссылка --skip установить или ссылку НОГО --install = ложь здесь НПЙ ссылка документы: https://docs.npmjs.com/cli/link
Alexander Mills
3

голосов
1

ответ
118

Просмотры

Локальные операции РЕПО как зависимости

Я разрабатываю в два РЕПО, одна зависимости от других. Я на НОМ v5. Уточняю зависимость в package.json главных репо как ../dependent-repo. Когда я НАЯ установку, это создает символическую ссылку на зависимый-репо в главном репо / node_modules, указывая на ../../dependent-repo. Проблема заключается в том, что зависимый-репо имеет свои собственные node_modules под ним, так что, когда я имею в виду (требуется или импорт) что-то в одном из своих зависимостей, процедура разрешения по умолчанию разрешается в зависимость в зависимом репо / node_modules, а не зависимость в основном-репо / node_modules. Это оказывается проблема с машинописью, так как, по-видимому считает, что главной репо / node_modules / @ угловое / ядро ​​отличается от зависимого репо / node_modules / @ угловое / ядро, даже если они являются той же версией, и байты- для байт идентичных. Это приводит к TS ошибок вида Аргумент типа «ViewContainerRef» не может быть назначен для параметра типа "ViewContainerRef. Я знаком с этой проблемой, потому что это также произошло с НПМ v3, когда я использовал НУЮ ссылку. Эта проблема широко обсуждалась в списке вопросов TS, но без разрешения, насколько я могу судить. Я надеялся, что НПМ v5 будет каким-то магическим образом решить эту проблему, но не везло до сих пор. Я пытался указать зависимость в виде файла: //../dependent-repo, но это также просто создает ту же символическую ссылку (как минимум в npm5, я, кажется, припоминаю, что в более ранних версиях, если возможно, скопировал замок каталогов, запас и баррель ). На данный момент только обходной путь я могу видеть, покидает зависимость, чтобы указать на сервере GitHub, затем совершает и толкая каждую смену я делаю, и повторный запуск НПМ установки на главном репо, чтобы внести последние изменения. Это было именно то, что я пытался избежать. Я думал, что временно переименовывать зависимый репо / node_modules перед тестированием основного репо, поэтому она исключена из процесса урегулирования. Тем не менее, это, очевидно, требует от всех зависимостей зависимого репо присутствовать на основной репо. Я пытался играть немного с опцией путей к tsconfig.json (в главном-репо), и имел некоторые удачи с вещами как пути: { «*»: [ «node_modules»]}, но не смог получить эту работу полностью , Я понимаю, что угловой кли могут быть внесены некоторые изменения в его внутренней конфигурации WebPack, чтобы сделать эту работу лучше, но, к сожалению, моя главная-репо использует старую процесс сборки WebPack, и я не мог сделать некоторые из предложенных изменений, таких как решимостью: { запасной вариант: [path.join (__ имя_директории "
7

голосов
0

ответ
739

Просмотры

How to config eslint-loader to lint NPM linked modules?

Я работаю над большим проектом JavaScript, который разбивается на несколько вспомогательных модули, каждый суб модули имеют свои собственные хранилища мерзавца и Node зависимости. И у нас также есть модуль точки входа, приложение, которое имеет Webpack и ESLint конфигурации. Так как большинство разработчиков будет работать на несколько модулей в тандеме друг с другом, вместо того, чтобы ждать каждого модуля будет опубликован, мы используем НПМ ссылку для подключения суб-модулей в модуле App, поэтому изменения в подмодуль во время разработки будет быть сразу виден модуль App. Мы столкнулись с проблемами, чтобы получить eslint-загрузчик LINT не только исходный код модуля приложения, но все подмодули, которые связаны через НПМ ссылку. Когда пыление код подмодуля, в eslint-загрузчик не сможет решить пути, локальные для субмодуля. Есть ли способ для меня, чтобы обойти эту проблему? Ниже приведен пример структуры проекта: --- App | ЦСИ | node_modules | - Sub_module_x | ЦСИ | node_modules | - Sub_module_y ЦСИ node_modules Вот соответствующий раздел eslint-загрузчик в webpack.config.js: модуль: {Preloaders: [{тест: /\.js$/, погрузчик: 'eslint-погрузчик', исключающий: [путь .resolve (__ имя_директории, 'node_modules', 'Sub_module_x'), // Если это комментируется, заряжающий нибудь вкусненькое Sub_module_x, но не может решить любые файлы, импортировать другие файлы / node_modules /]}]} --- App | ЦСИ | node_modules | - Sub_module_x | ЦСИ | node_modules | - Sub_module_y ЦСИ node_modules Вот соответствующий раздел eslint-загрузчик в webpack.config.js: модуль: {Preloaders: [{тест: /\.js$/, погрузчик: 'eslint-погрузчик', исключающий: [путь .resolve (__ имя_директории, 'node_modules', 'Sub_module_x'), // Если это комментируется, заряжающий нибудь вкусненькое Sub_module_x, но не может решить любые файлы, импортировать другие файлы / node_modules /]}]} --- App | ЦСИ | node_modules | - Sub_module_x | ЦСИ | node_modules | - Sub_module_y ЦСИ node_modules Вот соответствующий раздел eslint-загрузчик в webpack.config.js: модуль: {Preloaders: [{тест: /\.js$/, погрузчик: 'eslint-погрузчик', исключающий: [путь .resolve (__ имя_директории, 'node_modules', 'Sub_module_x'), // Если это комментируется, заряжающий нибудь вкусненькое Sub_module_x, но не может решить любые файлы, импортировать другие файлы / node_modules /]}]}
Tianzhen Lin
3

голосов
1

ответ
337

Просмотры

NPM: отсутствуют транзитивные зависимости в node_modules

У меня есть два местных проектов НПМ A и B. Предположим, что А зависит от реакции и имеет его в списке зависимостей в файле package.json. Я использую НУЮ ссылку, чтобы сделать для Б. В зависят от А и реагировать. Я использую НУЮ ссылку А использовать локальную версию A. Однако, как я знаю, что уже зависит от реакции, я не включаю реагировать на моем package.json файл B. Когда я называю НПЕ установками я бы ожидать НПЕ включить транзитивные зависимости в папке node_modules. Тем не менее, я не могу найти реагировать на него и не могу использовать его в коде Б до тех пор, пока я не включают в себя переходную зависимость в собственном файле package.json Б. Когда я включаю другие модули, как реагировать, я также получаю транзитивную зависимость, например, FBJS или кодирования решенного в мою папку node_modules. Итак, где же ошибка? / Почему зависимости, не включенные в папке node_modules Б?
Salim
3

голосов
3

ответ
84

Просмотры

Как получить НПЙ в пользу местные связанные зависимости над его опубликованными установками

Я искал другие вопросы, такие как этот, но все они, как представляются, о местных остановках НОЙ связи, работающих по другой причине, чем у меня. Я полагаю, что это общая проблема прецедентов, так что, если я делаю что-то методично неправильно, я более чем рад принять предложения о том, как я должен делать это. В принципе, у меня есть отдельный модуль НПМ, что я работаю называется @ организации / модуля. При работе на местном уровне, я побегу НУЮ ссылку на него, и использовать его в моем проекте «хозяин», как НАЯ ссылка @ организации / модуль - это все прекрасно работает с горячей перезагрузкой и т.д. Я также импортировать его как модуль импорта от «@ организации / модуля. Однако, так как я хочу, чтобы опубликовать мои локальные изменения в НПЙ (как @ организациях / модуль) время от времени, для тестирования сборки и коды производства, Мне нужно запустить НПМ установить @ организации / модуль на хост-проекта. Это то, кажется, разорвать связь неявной НОЙ я настроить раньше ... Я полагаю, в основном потому, что они такие же имя, и NPM выступает за установку через ссылку? Когда я хочу, чтобы живые, локальные изменения снова, единственный способ, которым я могу в настоящее время получить его на работу осуществляется через НПМ деинсталлировать @ организации / модуля, а затем повторно связать его. Есть ли способ, чтобы сохранить опубликованный модуль установлен (для того, чтобы избежать ошибок по невнимательности, как забыть переустановить его для тестирования сборки), но всегда благоприятствует местный, связанный экземпляр? Схема исх: единственный способ, которым я могу в настоящее время получить его на работу осуществляется через НПМ деинсталлировать @ организации / модуля, а затем повторно связать его. Есть ли способ, чтобы сохранить опубликованный модуль установлен (для того, чтобы избежать ошибок по невнимательности, как забыть переустановить его для тестирования сборки), но всегда благоприятствует местный, связанный экземпляр? Схема исх: единственный способ, которым я могу в настоящее время получить его на работу осуществляется через НПМ деинсталлировать @ организации / модуля, а затем повторно связать его. Есть ли способ, чтобы сохранить опубликованный модуль установлен (для того, чтобы избежать ошибок по невнимательности, как забыть переустановить его для тестирования сборки), но всегда благоприятствует местный, связанный экземпляр? Схема исх:
Sarreph
7

голосов
3

ответ
197

Просмотры

Unexpected behaviour with `npm install` of a local project

Scenario I am using npm 5.8.0 I am having a ProjectA and a ProjectB ProjectB is a dependency of ProjectA Both project are being bundled and run via Webpack (I can provide my configuration if necessary). For development purposes I am referencing ProjectB in ProjectA's package.json via "projectB": "file:../projectB". Basically the only files I need there are in the lib folder which is Webpack's output. Problem If I install this dependecy with the configuration above, npm will install the entire ProjectB-folder into node_modules. It will contain everything projectB's node_modules, configuration files, the src-folder etc. Apart from the fact that this can't be the expected behaviour, this leads to errors. For example some of the installed @types will throw an error because they are considered duplicates. @types and other packages from ProjectA and ProjectB seem to "collide". Those packages are referenced as "dependencies" in both ProjectA and ProjectB mostly. What I tried npm link If I use npm link the same (see above) behaviour appears. The entire folder will be installed into ProjectA's node_modules. npm pack It might be important that I actually do have a .npmignore-file in ProjectB. So when I use npm pack a projectB.tgz file is generated. If I then install ProjectB via "projectB": "file:../projectB.tgz" everything works fine. I assume that npm pack does take the .npmignore-file into account. My problem with this solution is that I not only would have to build ProjectB every time a change is applied to it but also npm pack it. Delete ProjectB's node_modules I guess this is the silliest workaround. If I reference ProjectB via "projectB": "file:../projectB" again but delete its node_modules after building it, they do not appear after installation. Thus I do not get any more exceptions. I guess this is not a valid solution either as still the entire ProjectB-folder is being installed. Question What is the best practice here? What is a reasonable constallation for ProjectA and ProjectB in order to install ProjectB from a local source?
チーズパン
8

голосов
5

ответ
2.1k

Просмотры

Как выполнить «ссылку НПМ» непосредственно на установке

У меня есть внутренний проект, в котором я хочу, чтобы связать команду в файл с бункером. Как ожидают, этот package.json: { "имя": "мой-проект", "бин": { "кли-имя": "./bin/my-executable.js"}, "зависимости": { «node- красный ":„^ 1.0.0“}} При выполнении НПХ установок будет установлена ​​вся зависимость, и конфигурация бин узла-красный будет создана тоже. Но мой собственный ящик будет полностью игнорироваться. Это не представляется возможным использовать CLI-имя в ЦМД. Это необходимо выполнить НУЮ ссылку тоже, на втором этапе. Тогда кли имя будет доступно в качестве команды в консоли. Я даже пытался использовать постустановочный сценарий НОГО НОЙ ссылку на него, но потом я получил петлю ... Есть ли способ сделать это в одном шаге от НОЙ установки?
eisbehr
2

голосов
0

ответ
979

Просмотры

Как отвязать локальный пакет? Где НПМ хранит ссылки в окнах окр?

Я связала локально разработанный пакет, используя НУЮ команду ссылки. С тех пор я не могу разъединить его обратно. Я на окнах 10. Я пробовал: НПЙ Unlink НОГО удалить НУЮ деинсталляцию Полностью уничтожить НПЕ кэша и глобальный репозиторий. Я бы ожидать, что пакет будет установлен из НОЙ сети репо сейчас, как я быть_наст: «зависимость»: { «пакет»: «^ версия»} в моем файле package.json, но он по-прежнему устанавливать локальную скомпонованные. Где НПМ хранит ссылки?
Fis
6

голосов
1

ответ
1k

Просмотры

NPM ссылка, без привязки devDependencies

Оказывается, что, когда я бег НОЙ ссылки, он будет установить проект в глобальном масштабе, и, кажется, установить devDependencies с ним. Есть ли способ запустить НУЮ ссылку без devDependencies, возможно, с --only = флагом производства?
Alexander Mills
2

голосов
0

ответ
265

Просмотры

NPM ссылка Код ошибки: 128

Я разрабатываю часть программного обеспечения , и понял , что часть этого должна быть отдельным пакетом. Перед тем, разделив код, я решил попробовать команду НОЙ ссылки. Я следовал документации НПМ , чтобы создать фиктивный пакет (именно то , что документация описывает - exports.printMsg = функция () {} ...) , чтобы связать с и с последующей документации о НПМ ссылке. Первая часть (символическая ссылка / Lib / node_modules) работал отлично. Вторая часть не удалась с следующим сообщением об ошибке: НАЯ WARN устаревшего [email protected]Используйте UUID модуля вместо НОЙ ERR! Ошибка при выполнении: НАЯ ERR! / USR / BIN / Git л.с-удаленный -h -t HTTP: //stash.grupa.onet/scm/oacc/node04-iconv.git НПМ ERR! NPM ERR! со смертельным исходом: не удалось открыть «HTTP: //stash.grupa.onet/scm/oacc/node04-iconv.git/»: Не удалось разрешить хост: stash.grupa.onet НПМ ERR! NPM ERR! завершался с кодом ошибки: 128 NPM ERR! Полный протокол этого запуска можно найти в: НПМ ERR! /home/lisa/.npm/_logs/2017-08-02T16_29_12_731Z-debug.log Не могли бы вы помочь мне, пожалуйста? Все, что я нашел о подобных ошибках предложить перезагрузить компьютер (что я и сделал) или обновить НПМ (я бегу 5.3.0). То, что я не понимаю, почему команда, которая должна симлинка пакет пытается решить что-то ...
Lisa
2

голосов
0

ответ
151

Просмотры

Получить __dirname, чтобы указать путь к папке, а не реальный путь папки SYM-связанных

Как получить __dirname, чтобы указать на сохранившемся путь к папке, а не реальный пути к файлу при символической ссылке, используя НУЮ ссылку. Сценарий Папка проекта установки | ---- ModuleA | | | ---- moduleA.js | ---- приложение | --- node_modules CD Project / ModuleA НОЙ ссылки CD Project / приложение НАЯ ссылка ModuleA Внутри moduleA.js __dirname -> / проект / ModuleA Однако ожидаемое поведение __dirname -> / проект / приложение / node_modules / ModuleA поскольку НАЯ ссылка создает SYM-ссылка, которая вставляет связанный модуль в папке node_modules, следовательно, имитирующий опыт установки модуля непосредственно. Как я могу получить __dirname, чтобы указать на сохранившихся пути, а не реальный путь, где находится модуль? Примечание: --preserve-симлинка параметр командной строки не влияет на величину __dirname
takinola
2

голосов
0

ответ
302

Просмотры

Как «NPM ссылка» Угловая библиотека с общей библиотекой?

Для моих угловых приложений 4.x (App) Я написал библиотеку (например, «Lib»), который в настоящее время не АОТ совместимы. Оба приложения и L зависят от библиотеки третьих стороной (например, «X»). Когда я использую «ссылку НОЙ» для разработки Lib в App, некоторые вещи перестают работать, так как X теперь в обоих App / node_modules и Lib / node_modules, и во время выполнения там, кажется, несколько экземпляров провайдеров из X. При удалении X от Lib / node_modules все работает отлично. Я подозреваю, что это общее ограничение провайдеров, а не непосредственно связанное с X, но в моем случае X на самом деле NGX-перевод. «Чистейший» обходной путь я нашел, чтобы работать только «НПМ установки» для приложения, а не для Lib. Таким образом, большинство зависимостей (включая X) существуют только в App node_modules и приложение работает отлично. Тем не менее, это вызывает проблемы IDE при разработке Lib: 1) Если я работаю над проектом Lib, это не хватает зависимостей и не имеет IntelliSense, например, (а кроме того, он не строить). 2) Если вместо этого я разрабатываю Lib из проекта приложения (непосредственно на node_modules \ Lib), она не имеет правильной интеграции управления версиями (так что я не могу проверить-аут, например). Большое спасибо!
Nir Zamir
3

голосов
1

ответ
694

Просмотры

How to develop two angular modules locally where module A imports module B

При разработке два местных проектов в angularjs (где одна импортирует другую) я бы просто запустить «ссылку НОЙ» в папке модуля В и затем запустить «NPM ссылку модуля-B» в папке моего основного модуля и каждый раз, когда я изменил файл в модуле BI бы видеть его непосредственно в браузере обслуживания модуля А. Но это, кажется, не быть столь же легко с угловым (4). Я использую нг-packagr для создания DIST папки. Я бег НПМ ссылки в DIST папки. Я бег НОЙ ссылка модуль-B в папке моего основного модуля. Затем я бегу нг служить --preserve-символические ссылки. До сих пор так хорошо, он может понять компоненты модуля B. Но если я пытаюсь изменить что-то в модуле В, повторно нг-packagr, мой основной модуль в «нг служить» не в состоянии собрать, я должен остановиться и начать нг служить , Я думаю, нг-packagr первым удаляет DIST папки и это вызывает восстанавливание в нг служить, который терпит неудачу и не замечают вновь созданные файлы, которые пришли после удаления из DIST папки. Должны ли мы использовать нг-packagr или есть другой способ сделать мульти-проект-местного развития. Обновление: Если мы комментируем этот раздел в нг-packagr.js оно не удалить папку и обновления браузера всякий раз, когда файл был изменен и ngpackagr запускается: возвращение Promise.all ([/*rimraf_1.rimraf(p.dest), * / rimraf_1.rimraf (p.workingDirectory)]); Но работает нг-packagr занимает некоторое время, в зависимости от того, насколько большой библиотеки. Так как он строит все это и не только файлы, которые изменились. Должны ли мы использовать нг-packagr или есть другой способ сделать мульти-проект-местного развития. Обновление: Если мы комментируем этот раздел в нг-packagr.js оно не удалить папку и обновления браузера всякий раз, когда файл был изменен и ngpackagr запускается: возвращение Promise.all ([/*rimraf_1.rimraf(p.dest), * / rimraf_1.rimraf (p.workingDirectory)]); Но работает нг-packagr занимает некоторое время, в зависимости от того, насколько большой библиотеки. Так как он строит все это и не только файлы, которые изменились. Должны ли мы использовать нг-packagr или есть другой способ сделать мульти-проект-местного развития. Обновление: Если мы комментируем этот раздел в нг-packagr.js оно не удалить папку и обновления браузера всякий раз, когда файл был изменен и ngpackagr запускается: возвращение Promise.all ([/*rimraf_1.rimraf(p.dest), * / rimraf_1.rimraf (p.workingDirectory)]); Но работает нг-packagr занимает некоторое время, в зависимости от того, насколько большой библиотеки. Так как он строит все это и не только файлы, которые изменились. Но работает нг-packagr занимает некоторое время, в зависимости от того, насколько большой библиотеки. Так как он строит все это и не только файлы, которые изменились. Но работает нг-packagr занимает некоторое время, в зависимости от того, насколько большой библиотеки. Так как он строит все это и не только файлы, которые изменились.
Viktor Eriksson
125

голосов
5

ответ
70k

Просмотры

Как удалить пакет, установленный с помощью NPM ссылку?

При установке пакета узла с помощью SUDO НОЙ ссылки в каталоге пакета, то как я могу удалить пакет, как только я закончу с развитием? NPM ссылка устанавливает пакет в качестве символической ссылки в глобальном пакете местоположения системы ( '/ USR / местные / lib`). Это позволяет проверить пакет пока еще развивается это, без необходимости устанавливать его снова и снова. Какая команда НПМ мне нужно бежать, чтобы удалить ссылку снова?
nwinkler
4

голосов
0

ответ
139

Просмотры

развитие местного модуля НПМ Hot перегрузочные

Я строй 2 НПХ пакетов, которые зависят. Модуль А (package.json) «зависимость»: { «Модуль-б»: «~ 0.0.1»} Мы используем НУЮ ссылку, чтобы соединить эти два приложения локально. В настоящее время нам нужно запустить НПМ запустить prepublish на модуле-б визуализировать изменения в модуле-а во время работы сервера Dev WebPack на модуле-вопрос: Можно ли нам иметь горячую перезагрузку между двумя модулями. Как и любые изменения, сделанные в модуле B будет отражать автоматически ModuleA?
prasann
4

голосов
0

ответ
643

Просмотры

Создание внешнего модуля в Угловое 4

Я хочу , чтобы создать внешний модуль , а затем импортировать его в свой проект. Я создаю простой модуль (widget.module.ts) , которые имеют компонент (widget.component.ts), поэтому я генерировать файл package.json используя НПМ НПМ инициализации --scope = @ mylibs # я дать имя виджета # в EntryPoint является widget.module.js НОЙ установкой # это создать node_module папки НОЙ ссылки # это создать ссылку , то я создать простое приложение нг нового MySimpleApp в пути MySimpleApp связать мой модуль НОЙ ссылки @ mylibs / виджет , но когда я запустить мое приложение нг служить у меня есть эта ошибка: «WidgetModule» импортированный модуль «AppModule». Пожалуйста , добавьте @NgModule аннотацию.
Vito Lipari
3

голосов
1

ответ
105

Просмотры

NPM обновление отсоединяет связанные пакеты

У меня есть проект, который состоит из пакета узла один корневого каталога, содержащих подпакеты, связанных друг с другом НОЙ связью - эти подпакеты зависят друг от друга (перечислено в зависимости package.json) и структура в основном выглядит следующим образом: -rootpackage --subpackageA --subpackageB Допустим, subpackageA имеет зависимость от subpackageB, поэтому я связываю их, чтобы избежать публикации / переустановка subpackageB в subpackageA после каждого изменения в источнике subpackageB. Связь работает отлично, пока я не запустить НОЕ обновление в subpackageA, что заставляет subpackageB быть несвязанным. Теперь я вижу два варианта: я могу теоретически запустить операцию НОЙ ссылки после каждой НОЙ установки или обновлений НПХ, чтобы обеспечить ссылки всегда присутствуют. Это работает с постустановочным в случае установки, но в случае обновления постустановочный не называется. Я не» знают любую postupdate команды для НОГО, который будет вызываться после обновления. Может быть, есть способ сделать это более умно, возможно с пряжей, которую я также использую, таким образом, что это своего рода предотвращает Разъединение или исключает обновления для моих подпакетов, так что я не теряю связи между моими подпакетами , но сейчас я не в курсе таким образом. Есть ли способ, чтобы сделать один из этих вариантов работы или любым другим способом, чтобы решить эту проблему? Мне нужно, чтобы держать эти и другие ссылки, поэтому мы не должны запустить НУЮ ссылку после каждой установки / обновления. Я не могу найти информацию по этому вопросу в любом месте. Btw Я использую узел 6.4.0 и НПМ 3.10.3. что это своего рода предотвращает Разъединение или исключает обновления для моих подпакетов, так что я не потерять связь между моими подпакетами, но сейчас я не в курсе таким образом. Есть ли способ, чтобы сделать один из этих вариантов работы или любым другим способом, чтобы решить эту проблему? Мне нужно, чтобы держать эти и другие ссылки, поэтому мы не должны запустить НУЮ ссылку после каждой установки / обновления. Я не могу найти информацию по этому вопросу в любом месте. Btw Я использую узел 6.4.0 и НПМ 3.10.3. что это своего рода предотвращает Разъединение или исключает обновления для моих подпакетов, так что я не потерять связь между моими подпакетами, но сейчас я не в курсе таким образом. Есть ли способ, чтобы сделать один из этих вариантов работы или любым другим способом, чтобы решить эту проблему? Мне нужно, чтобы держать эти и другие ссылки, поэтому мы не должны запустить НУЮ ссылку после каждой установки / обновления. Я не могу найти информацию по этому вопросу в любом месте. Btw Я использую узел 6.4.0 и НПМ 3.10.3.
Dan Macák