我正在尝试部署使用 @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"]
}
在我的包里.json
"dependencies": {
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
...
}
我的应用程序上有以下导入.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
文件添加到项目的公共根目录。包含以下内容:
/* /index.html 200
更多信息在这里
另一种方法是添加一个netlify.toml
文件,但这更复杂,并且将获得相同的结果。更多信息在这里