* 注意:我对Webpack知之甚少。
我想要通过ProvidePlugin
在Webpack中加载react
节点模块和其他模块,以便全局访问它们。
我创建了一个create-react-app
并运行了eject
,然后获得了预定义的WebPack配置,create-react-app
提供了这些配置。
我读了这篇文章关于如何通过PluginProvidor
全局加载react
,并在Webpack文档中了解了有关PluginProvidor
本身的信息,其中后者指出:
默认情况下,模块解析路径为当前文件夹(./**)和node_modules
基于此,在webpack.config.js
中的plugins
中,我添加了以下PluginProvidor
:
...
plugins: [
new webpack.ProvidePlugin(
{
React: 'react'
}
)
]
...
但是它不起作用 - 在JSX文件中调用React(例如 class MyComponent extends React.Component { ... }
),会出现一个错误,指出React未定义(还有一个针对React的错误,指出React必须在JSX文件中定义)。
为什么不起作用?据我所知,我给出了在JSX文件中调用的同一标识符,并且像我之前提到的那样,根据Webpack文档,在node_modules
中使用react
模块的路径 - 这两者都是必需的才能使其正常工作。
我的配置文件:webpack.config.js
PluginProvidor
之前,我已经做了很多工作。它可以正常工作,并且在我进行import
时仍然可以正常工作。但是当我删除import
声明并尝试通过PluginProvidor
加载它时,它就无法加载。 - Gal Grünfeld*webpack*.PluginProvider
- 然而,这仍然没有起作用。我已经更新了我的帖子中的代码。 - Gal Grünfeld