构建

时间:2017-09-15 09:06:05

标签: reactjs npm build path react-scripts

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

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">

3 个答案:

答案 0 :(得分:21)

{
  "name": "your-project-name",
  "version": "0.1.0",
  "homepage": "./",
  .
  . 
  .
  #your rest of package.json content
}

此次运行后npm run buid

这将改变路径“./”

答案 1 :(得分:5)

我遇到了类似的问题,并通过在package.json

中设置"homepage": "./"来解决此问题

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

答案 2 :(得分:1)

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

您可以详细了解here