Подмодули в 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