Импортировать модуль из того же каталога, в котором находится текущий неработающий модуль - PullRequest
1 голос
/ 02 августа 2020

У меня такая структура каталогов:

start-dir
  example-dir1
    module1.js
    module2.js
    index.js
  ...other-directories...
  example-dir2
    module3.js
    module4.js
    index.js
...other-directories...

Файл index. js импортирует module1 и 2 и экспортирует их как объекты:

exports.module1 = require('./module1');
exports.module2 = require('./module2');

Затем в module1. js Я хочу включить module2. js - используя index. js вот так:

// module1.js

const { module2 } = require('@example-dir1');

console.log(module2) // undefined

Примечание: @ - это абсолютный путь к каталогу root, здесь используется псевдоним веб-пакета , но без псевдонима он также не будет работать - даже при использовании «прямого» импорта, например: require('./index')

Модуль 1 не только должен импортировать модуль 2 из того же example-dir1, но иногда и необходимо импортировать другие модули из других каталогов, например:

// module1.js

const { module3 } = require('@example-dir2');

console.log(module3); // undefined

Но если я попытаюсь сделать то же самое, но с каталогами, которые не являются дочерними по отношению к start-dir (примечание что это каталог root в примере), он будет работать.

Итак, проблема заключается в попытке импортировать модуль, который импортирует и экспортирует текущий модуль в нем

Как это исправить?

...