【发布时间】:2019-12-24 06:41:49
【问题描述】:
我将一个 React 应用程序部署到 IIS,它显示 OK,但是当我按 F5 重新加载页面时,它显示页面未找到。
问题是,当我在 Visual Studio Code 上使用“npm start”启动应用程序时,它运行良好,但在涉及 IIS 时,它显示找不到页面。
这是我从 Visual Studio Code 开始时的网址: http://localhost:3000/Test/TestRouter(工作正常,F5 OK)。
我在 IIS 上发布时的网址: http://localhost/Test/TestRouter(在首次加载和 F5 显示未找到页面时工作)。
这是我的代码:
App.js
import React from 'react';
import logo from './logo.svg';
import './App.css';
import Test from './Test';
import { Link, BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import dotenv from 'dotenv';
require('dotenv').config()
function App() {
return (
<div className="App" >
<Router basename='/Test'>
<div>
<nav>
<Link to="/TestRouter">Test</Link>
</nav>
<Switch>
<Route path="/TestRouter" component={Test} />
</Switch>
</div>
</Router>
</div>
);
}
export default App;
Test.js
import React from 'react';
class Test extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<p>Hello world</p>
</div>
);
}
}
export default Test;
package.json
"homepage": "http://localhost/Test/"
有没有人可以帮助我,以便我可以在部署到 IIS 后重新加载页面而不会出现此错误?
先谢谢你了。
【问题讨论】:
-
我觉得你需要添加
.htaccess- docs.microsoft.com/en-us/iis/application-frameworks/…