webpack - 选择为哪些文件提供选择模块 webpack.ProvidePlugin
问题描述
是否有可能在我的配置中选择为具有 .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 帐户下。
推荐阅读
- javascript - 无法显示函数的结果
- docker - Jenkins通过在master上执行命令启动代理导致jenkins job consule无法显示表情符号
- javascript - 如何停止此计时器?
- css - 如何在 jumbotron 下获取自定义背景?
- ag-grid - ag-grid:使用 domLayout='autoHeight' 时是否可以有固定的标题?
- javascript - 如何传递下拉列表选择的值以获取 mvc 控制器中的功能
- reactjs - 从 jsx 文件导入 sass 变量
- ubuntu - 删除关于“语言支持不完整”的 KDE 通知
- node.js - 在预保存挂钩中更新
- python - 如何在 MSYS2 上安装 Python 开发工具