ReactJs 新手笔记

2017-10-15  本文已影响0人  cc卡耐基

打包遇到的一个问题
执行命令
cd 项目目录
npm run build

如果不做任何修改,直接在nginx下访问,会产生js无法访问,因为根目录会指向根域名,而不是项目目录。

eg:
http://www.abc.com/static/js/main.b39d165c.js 访问的是这个错误路径
http://www.abc.com/app/static/js/main.b39d165c.js  正确路径应该是这个

包括index.html文件中引用的路径也是错误的。

如何修改呢?找到如下目录

/项目目录/node_modules/react-scripts/config/paths.js
找到这个函数
42. function getServedPath(appPackageJson) {
43.  const publicUrl = getPublicUrl(appPackageJson);
44.  const servedUrl =envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');
45.  return ensureSlash(servedUrl, true);
46. }

将const servedUrl =envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');
改成const servedUrl =envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : './');
最后加个点就ok了。

重新运行
npm run build

重新访问即可。

上一篇 下一篇

猜你喜欢

热点阅读