Подмодули в Browserify

/foo
  /bar.js
  /foobar.js
  /index.js

В файле node.js, если вам требуется каталог (require('foo')), он просматривает этот каталог и находит файл index.js и возвращает все экспортированные файлы, которые есть в этом файле, так что я могу просто связать содержимое каталога в файле index.js. Поэтому мне не нужно отдельно указывать bar и foobar, если они уже включены в index.js.

Однако этот подход не работает с browserify. Кажется, что browserify понимает только относительные пути.

/star
  /star.js
  /starfoo.js
  /index.js
/foo
  /bar.js
  /foobar.js
  /index.js

Другими словами, я хочу разделить свой проект на подмодули, вызывать require для каталога, как будто я вызываю require для зависимости. Например, в файле star.js я хочу иметь возможность требовать ('foo') и получать экспорты bar.js и foobar.js (если /foo/index.js импортирует bar.js и foobar). JS)

редактировать: глядя на исходный код реагирования, я думаю, что то, что я описываю, возможно

https://github.com/facebook/react/blob/master/src/isomorphic/ReactIsomorphic.js В этом файле они вызывают require для React-Children в строке 14.

var ReactChildren = require ('ReactChildren');

Однако реагируют ребята на пару каталогов глубже. https://github.com/facebook/react/blob/master/src/isomorphic/children/ReactChildren.js

Где определено это отображение?

1 ответ

Нет способа указать базовый каталог, потому что это не так, как работают модули узлов. Если вы хотите не относительные пути, используйте node_modules каталог. Если ты хочешь require('foo') чтобы работать из любого каталога, просто сделайте символическую ссылку из корня вашего проекта:

ln -s foo node_modules/foo
Другие вопросы по тегам