想问提下create-react-app路径方面的问题

来源:5-1 使用NPM配置React环境

mylovef

2017-08-19

创建了create-react-app文件之后,在根目录的/public/index.html中得到了

<link rel="manifest" href="%PUBLIC_URL%/manifest.json">

 <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">

这样的代码,然后我想查找PUBLIC_URL的来源,在/config/path.js里面发现了这样一段代码:

const envPublicUrl = process.env.PUBLIC_URL;

也就是说它是挂在环境变量上的

但我没有发现更多的线索了,通过查看API我大致了解了有关/public文件夹下的文件导入项目的原理,但还是非常疑惑

这里但PUBLIC_URL是通过什么方式就进入了环境变量呢?或者说是怎么得到的?

在config/paths文件夹下,修改了

function getServedPath(appPackageJson) {

  const publicUrl = getPublicUrl(appPackageJson);

  const servedUrl =

    envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');

  return ensureSlash(servedUrl, true);

}

修改快pathname可以修改servedUrl,从而原本静态文件的读取路径,但这个时候我发现PUBLIC_URL也同样发生了改变,这又是为什么?

恳请老师解答,谢谢



写回答

1回答

Parry

2017-08-19

0
3
mylovef
非常感谢!
2017-08-20
共3条回复

结合基础与实战学习React.js 独立开发新闻头条平台

轻松入门 React 开发,React Router 4 与 Webpack 2 完美升级项目

2768 学习 · 2126 问题

查看课程