【问题标题】:How does react avoid using require("../../Path/To/Module"), and just use require("Module")react如何避免使用require(“../../Path/To/Module”),而只使用require(“Module”)
【发布时间】:2016-07-18 04:19:33
【问题描述】:

据我所知,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 例如。我想知道他们是如何做到这一点的。

【问题讨论】:

    标签: node.js reactjs npm


    【解决方案1】:

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

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

    【讨论】:

    • 如果你使用它,你也可以在 Webpack 中使用别名。 (通常是 react + es6 + babel 的情况)webpack.resolve.alias
    【解决方案2】:

    如果您使用的是 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');

    【讨论】:

      猜你喜欢
      • 2020-05-31
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多