选择为哪些文件提供选择模块webpack.ProvidePlugin

Choose for which files to provide the selection module webpack.ProvidePlugin

是否有可能在我的配置中我选择了为具有 .jsx 扩展名的特定文件提供反应包。

现在我已经为 .js 和 .jsx 导入了 React,但是我可以只对 .jsx 文件限制它吗

new webpack.ProvidePlugin({
    "React": "react",
}),

目前无法使用 webpack ProviderPlugin。

作为临时解决方案,您可以修改 node_modules/webpack/lib/ProviderPlugin.js 中的 ProviderPlugin 并在第 56 和 47 行下方添加以下代码:

parser.hooks.expression.for(name).tap("ProvidePlugin", expr => {
  if (name === 'React' && !parser.state.current.resource.endsWith('.jsx')) {
    return true;
  }

  // ...
});

您甚至可以分叉该插件并将其作为修改后的版本发布在您的 NPM 帐户下。