javascript - 动态导入在 netlify 中不起作用(reactjs)

标签 javascript reactjs webpack netlify dynamic-import

我正在尝试部署使用@babel/plugin-syntax-dynamic-import 的 reactjs 应用程序,该应用程序在我的本地主机上运行良好,但是当我将它部署在 netlify 上时,只有根 url 有效(例如:mysite .netlify.com),所有其他带有 slug 的 url(例如:mysite.netlify.com/Visit)都不起作用,它只是返回 404 页面未找到,即使我已经定义了路由并在我的本地主机上工作。

我的 .babelrc 文件中有以下设置

{
    "presets": ["@babel/preset-env", "@babel/preset-react"],
    "plugins": ["@babel/plugin-syntax-dynamic-import"]
} 

在我的 package.json 中

"dependencies": {
    "@babel/plugin-syntax-dynamic-import": "^7.2.0",
    ...
}

我的 App.js 上有以下导入

import React, { Suspense, lazy } from 'react';
import { BrowserRouter as Router, Route, Switch, Redirect } from 'react-router-dom';

const Photography = lazy(() => import('../Form1/Main.js'));
const Visit = lazy(() => import('../Form2/Main.js'));

有什么遗漏或者我需要让它在 netlify 上运行吗?

最佳答案

我认为这不是动态导入的问题 - 这是您的 Netlify 配置的问题。将 _redirects 文件添加到项目的公共(public)根目录。内容如下:

/*    /index.html   200

更多信息 here

另一种方法是添加一个 netlify.toml 文件,但这更复杂并且会达到相同的结果。更多信息 here

关于javascript - 动态导入在 netlify 中不起作用(reactjs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54574700/

相关文章:

javascript - ReactJS 状态在事件之间丢失

javascript - 如何清除/禁用次要和警告控制台日志错误?

javascript - 我如何使用 webpack 填充 Promise?

javascript - 是否可以在 webpack 的 require.context 调用中使用通配符?

javascript - 有人能告诉我这个正则表达式如何匹配任何东西吗?

javascript - 未捕获的类型错误(加载 jQuery 脚本)

javascript - 如何使 HTML 部分的位置在特定的滚动周期内固定?

javascript - 使用参数重新加载 Jquery 选项卡

reactjs - aws s3 存储桶中的文件在通过 aws cli 同步后不公开

javascript - react : Generate and save PDF onClick() problem - Kendo