javascript - 通过 WebPack 将 Bootstrap 加载到 Wordpress 时,ReactJS 代码拆分会导致错误

标签 javascript reactjs wordpress webpack lazy-loading

我目前正在使用 WebPack 配置,该配置允许将 ReactJS 直接注入(inject)到站点中。这会将所有 React 代码编译成一个单独的 index.js,我正在尝试对其进行代码拆分,因为该文件变得非常大。如果没有代码分割, Bootstrap 就不会加载,因为我将它作为我的 WordPress 主题的一部分。但是,当我使用 React.lazy() 时,我收到 0.js 的 404 错误,我的开发人员工具说这是由 Bootstrap 引起的。这是我的index.js:

const Register = lazy(() => import('./components/register/register')); // Import function

以及渲染:

<Suspense fallback={<div><Loader/></div>}><div id="container"><Register /></div></Suspense>

使用像 import Register from './components/register/register'; 这样正常导入的模块,它工作得很好,但是一旦我使用惰性,控制台就开始抛出错误。无论哪种方式,WebPack 都能正确编译。这是控制台错误的屏幕截图:

Console error

Another console error

任何帮助将不胜感激,因为我通常使用 Create-React-App 并且对自定义 WebPack 不太了解。谢谢!

最佳答案

我非常努力地找出问题的根源,结果发现浏览器正在 https://example.com/register/0.js 上寻找 0.js block 。当文件实际上位于 https://example.com/wp-content/themes/theme/build/0.js 时。经过一些谷歌搜索和一些试验和错误之后,我找到了一个 WebPack 配置,可以让它正确编译。如下:

output: {
        path: path.resolve(__dirname, 'build'),
        publicPath: '/wp-content/themes/theme/build/'
    },

只是记录下来以防其他人遇到同样的问题。

关于javascript - 通过 WebPack 将 Bootstrap 加载到 Wordpress 时,ReactJS 代码拆分会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63820161/

相关文章:

Javascript My Array Push 仅获取最后一个值

php - WordPress 多站点条件?

javascript - Javascript 中的快速双曲正切近似

javascript - 如何在html中制作下拉菜单?

javascript - 路由在实时服务器上不起作用,但在本地主机上起作用

javascript - 尝试将模拟数据传递到功能组件并迭代数组以在跨度中显示属性,获取类型错误无法访问模拟数据

jquery - anchor 链接在 Iphones/iOS 设备中不可点击

php - MySQL 查询 WordPress 数据库

javascript - 到达 anchor 标记时如何启动功能

javascript:从字符串中获取某些字符后的所有内容?