React主页属性不起作用
在我的package.json文件中,我有"homepage" : "http://myname.project.com/myapp",
我使用npm run build
构build应用npm run build
,输出结果确认创build了一个/ build目录。 输出:
build 102.97 KB / static / js / main.bfa46b52.js
24.37 KB build / static / css / main.cfe8a47e.css
该项目是假设它在/ myapp /托pipe的。 你可以用你的package.json中的主页字段来控制它。
生成文件夹准备好部署。
如果我使用npm start
或serve -s build
启动应用程序,那么应用程序将启动并加载index.html页面,但是来自index.html的静态资源的引用被破坏(/myapp/static/js/main.js和/myapp/static/css/main.css)。 (localhost:5000 / static / js / main.js工作; localhost:5000 / myapp / static / js / main.js不起作用),我可以直接导航到他们。
如果我将构build文件夹部署到/ myapp目录下的其他普通旧apache服务器,它似乎按预期工作。 有什么办法可以configurationserve -s build
服务从/ myapp目录中的页面?
该应用程序目前是一个没有链接的页面,没有实现反应路由器或任何等效的东西。 该团队已经使用webpack,但删除它。 应用程序使用react-scripts捆绑在一起。
我不清楚有两件事情正在发生。
- 设置主页属性对index.html进行了修改,以便在部署到/ myapp目录时可以正常运行。
- 运行
npm start
或serve -s build/
仍然从内置的静态服务器的根目录中部署我的应用程序。
主页属性与您的应用程序实际部署的位置无关。 为了解决这个问题,我使用了一个postbuild脚本将我的/ build文件夹的内容移动到/ build / myapp文件夹中。 然后它按预期工作。
所以在这里更多的讨论: https : //github.com/facebookincubator/create-react-app/issues/1354#issuecomment-311506599