是否有可能在我的配置中选择为具有 .jsx 扩展名的特定文件提供反应包。
现在我已经为 .js 和 .jsx 导入了反应,但我可以只对 .jsx 文件限制它吗
new webpack.ProvidePlugin({
"React": "react",
}),
是否有可能在我的配置中选择为具有 .jsx 扩展名的特定文件提供反应包。
现在我已经为 .js 和 .jsx 导入了反应,但我可以只对 .jsx 文件限制它吗
new webpack.ProvidePlugin({
"React": "react",
}),
目前使用 webpack ProviderPlugin 是不可能的。
作为临时解决方案,您可以修改 ProviderPluginnode_modules/webpack/lib/ProviderPlugin.js
并在第 56 和 47 行下方添加以下代码:
parser.hooks.expression.for(name).tap("ProvidePlugin", expr => {
if (name === 'React' && !parser.state.current.resource.endsWith('.jsx')) {
return true;
}
// ...
});
你甚至可以 fork 插件并将其作为修改版本发布到你的 NPM 帐户下。