Browserify中的子模块

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

在node.js中,如果你需要一个目录(require('foo')),它会查看那个目录并找到一个index.js文件,并返回我在该文件中的任何导出,所以我可以将这些内容打包index.js文件中的目录。 因此,如果index.js已经包含它们,我不必单独要求bar和foobar。

但是,这种方法不适用于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在这个文件中,他们在第14行调用React-Children的require。

var ReactChildren = require('ReactChildren');

然而,对儿童的反应更深。 https://github.com/facebook/react/blob/master/src/isomorphic/children/ReactChildren.js

这个映射在哪里定义?


没有办法指定基本目录,因为这不是节点模块的工作方式。 如果您想要非相对路径,请使用node_modules目录。 如果你想要require('foo')从任何目录工作,只需从你的项目根目录建立一个符号链接:

ln -s foo node_modules/foo
链接地址: http://www.djcxy.com/p/32893.html

上一篇: Submodules in Browserify

下一篇: browserify require in required file cannot find module