create-react-app CSS和JS路径

Chr*_*ris 7 reactjs

运行后创建应用程序做出反应npm run build,所创建的index.html这个样子的:

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>React App</title><link rel="shortcut icon" href="/favicon.ico"><link href="/main.e606e04b6e0092a87205a9dc4662479c.css" rel="stylesheet"></head><body><div id="root"></div><script type="text/javascript" src="/main.35180d284d8a2058f717.js"></script></body></html>
Run Code Online (Sandbox Code Playgroud)

两者scriptlink src/ - href属性都指向了错误的方向./应删除前导,因为所有生成的文件都在同一目录中.这是一个错误还是我能以某种方式配置这些路径?

Dan*_*mov 23

生成的文件应该从Web服务器提供.运行时npm run build,您应该看到有关在该目录中启动简单本地Web服务器的说明.如果将此目录部署到真实的Web服务器并index.html从根服务器,它也可以正常工作.

如果生成的文件没有引用脚本/,则只要添加客户端路由,您的站点就会中断.例如,如果应用程序位于,mysite.com但也处理URL mysite.com/about,相对路径将导致加载脚本将从mysite.com/about/*.js404错误.这就是默认情况下所有路径都从root开始的原因.

如果要从子目录(来自示例myuser.github.io/myproject)提供应用程序,则需要"homepage"在您的域中添加字段package.json,例如:

  "homepage": "http://myuser.github.io/myproject"
Run Code Online (Sandbox Code Playgroud)

创建React App将根据homepage设置推断出正确的根路径.此功能可用react-scripts@0.2.0

有关更多信息,请阅读部署说明.

  • 我设置`{"homepage":"."}`,然后重新运行`phonegap run build`.链接更改为`src ="./ main.123456.js"`.现在我的应用程序适用于phonegap :-) (4认同)
  • 我们不正式支持`{"主页":"."}`即使它在某些情况下有效.在其他情况下它会中断. (2认同)