@pqgg7nwkd4

Как использовать в node наработки, которые лежат не в папке проекта?

Примерно такая структура:
наработки/some.js

проект1/package.json
проект1/node_modules/...
проект1/...
проект1/index.js


Внутри index.js я хочу использовать наработки не как модуль, а просто как исходный код. Я хочу чтобы зависимости наработок резолвились в соответствии с настройками проекта.
Делаю require('../наработки/some.js').
Но node не ищет зависимости наработок в том же проект/node_modules/.

Частично проблему можно решить с помощью симлинка и запрету node разименовывать симлинки, но меня это тоже не устраивает - возникают проблемы при отладке и в работе IDE.
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 3
TNPTSYWWCC
@TNPTSYWWCC
And I Told Them I Invented Times New Roman
Сделать наработки внешним пакетом, например через гитхаб.
Ответ написан
w13vitaliy
@w13vitaliy
self-taught developer since 2020
Возможно вам поможет использовать lerna
Ответ написан
@pqgg7nwkd4 Автор вопроса
Решил следующим образом:
1. Чтобы использовать наработки в самом скрипте webpack.config.js прописал переменную окружения NODE_PATH=./node_modules в package.json:
{
  "private": true,
  "scripts": {
    "dev-debug": "NODE_PATH=./node_modules node --inspect-brk ./node_modules/.bin/webpack --devtool none --mode development",
    "prod-debug": "NODE_PATH=./node_modules node --inspect-brk ./node_modules/.bin/webpack --mode production",
    "dev-server": "NODE_PATH=./node_modules ./node_modules/.bin/webpack serve --mode development",
    "prod": "NODE_PATH=./node_modules ./node_modules/.bin/webpack --mode production"
  },


2. А чтобы использовать в приложении прописал аналогично в файле webpack.config.js:
resolve: {
            alias: {
                наработки: __dirname + "/../../../наработки",
            },
            modules: [__dirname + '/node_modules'], // - вот
        },
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы