webpack 替代 requirejs 的 module.config()

webpack alternative to requirejs' module.config()

在 requirejs 中有一种配置模块 configure modules 的方法,因此可以在模块中使用 module.config() 配置。 webpack 的替代方案是什么?

Webpack 没有为此提供任何特定机制。不过,我们可以在其上构建一个。 Webpack 允许我们 get current __filename。正如该答案中所讨论的那样,在做

module.exports = {
  context: __dirname,
  node: {
    __filename: true
  }
}

访问 __filename 模块将为我们提供通往它的路径。

我们可以将这个想法与resolve.alias结合起来。示例配置:

{
  resolve: {
    alias: {
      config: path.join(__dirname, './config')
    }
  }
}

之后我们可以做

var config = require('config')(__filename);

并且您可以 return 从您的配置模块中获得您想要的模块特定配置。