反应如何避免使用require(“../../ Path / To / Module”),只需使用require(“Module”)

时间:2016-07-17 02:58:49

标签: node.js reactjs npm

据我所知,npm模块可以是require(),没有路径:

require("module") // --> npm module

和本地模块require()使用路径:

require("./module") // --> local module, in this directory
require("../../path/to/module") // path to directory

在react.js中,需要没有路径的模块。例如See here。我想知道他们是如何实现这一目标的。

2 个答案:

答案 0 :(得分:3)

显然它使用rewrite-modules Babel插件和module-map模块(参见gulpfile.js。)

还可以使用this Babel插件来实现相同的行为。

答案 1 :(得分:1)

如果您正在使用Webpack,则可以将path/to/modules添加到resolve.modulesDirectories数组中,它的工作方式类似于node_modules而不是使用相对路径。

resolve: { modulesDirectories: ['path/to/modules', 'node_modules'], },

然后

var foo = require('foo'); // Instead of: // var foo = require('/path/to/modules/foo'); // or // var foo = require('../../foo');