94

您好,我有一个 reactjs 应用程序,我使用以下命令构建我的项目

npm build

这是我的package.json文件:

  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"},

构建后我有构建文件和 index.html 文件的文件夹但是这个 .html 中的所有路径都是绝对的,我想用相对路径构建

例如(index.html):现在我有:

<script type="text/javascript" src="/static/js/main.af2bdfd5.js"></script>
<link href="/static/css/main.097da2df.css" rel="stylesheet">
<link rel="shortcut icon" href="/favicon.ico">

我要这个:

<script type="text/javascript" src="./static/js/main.af2bdfd5.js"></script>
<link href="./static/css/main.097da2df.css" rel="stylesheet">
<link rel="shortcut icon" href="./favicon.ico">
4

3 回答 3

204
// package.json
{
  "name": "your-project-name",
  "version": "0.1.0",
  "homepage": "./", # <--- Add this line ----
  ...
}

再跑npm run build

这会将路径更改为./,这是您项目的相对路径。

于 2018-03-25T06:48:34.337 回答
31

我遇到了类似的问题并通过"homepage": "./"在 package.json 中设置解决了它

我在这里找到了这个解决方案https://github.com/facebook/create-react-app/issues/165

于 2018-03-16T17:13:15.597 回答
5

如果您使用的是 webpack,您可以尝试设置publicPath./

你可以在这里阅读更多关于它的信息。

于 2018-08-30T10:09:54.170 回答