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

sam*_*sam 5 javascript dynamic-import reactjs webpack netlify

我正在尝试部署我的reactjs应用程序,该应用程序使用@babel/plugin-syntax-dynamic-import,该应用程序在我的本地主机上运行良好,但是当我将其部署在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"]
} 
Run Code Online (Sandbox Code Playgroud)

在我的 package.json 中

"dependencies": {
    "@babel/plugin-syntax-dynamic-import": "^7.2.0",
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的 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'));
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*win 5

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

/*    /index.html   200
Run Code Online (Sandbox Code Playgroud)

更多信息请点击此处

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