1、主要依赖react,react-dom,react-scripts
2、生成项目目录
create-react-app生成项目目录结构
3、package.json
package.json
没有配置文件(webpack.config.js)y
npm命令
1、npm start
"start": "react-scripts start"
不是熟悉的"node scripts/start.js"
2、react-scripts是什么
react-scripts是create-react-app生成项目所有的依赖。
通常情况下,我们创建spa应用时是使用npm安装项目依赖,在通过配置webpack.config.js进行配置,搭建好环境后在src编写源代码。而create-react-app是自动构建,在package.json中只有react-scripts作为依赖,而在reacr-scripts中已经配置好了项目所有需要的。
有以下支持:
React, JSX, ES6,andFlow syntax support.
Language extras beyond ES6liketheobjectspreadoperator.
Import CSSandimage files directlyfromJavaScript.
Autoprefixed CSS, so you don’t need -webkitorother prefixes.
A build scripttobundle JS, CSS,andimagesforproduction,withsourcemaps.
A dev server that lintsforcommon errors.
从react,es6,babel,webpack编辑到打包,react-scripts都做了。
3、react-scripts源码
打开mode-modules\react-scripts\bin \react-scripts.js
4、npm run eject命令
单向操作不可逆,npm eun eject命令暴露项目的配置,可以自由配置项目所需的依赖,不使用的版本零配置即可开发。
npm run eject后文件目录
npm run eject / yarn eject 后package.json文件。
执行eject后,整个项目结构和配置和平时开发就没什么区别了。eject英文是“逐出”。
注意:使用eject后,必须要执行一次命令
因为“逐出”后,包可能不全,需要重新下载。
build 打包
1、执行打包命令
在webstorm上双击build
打包后,直接点击index.html是不可以正常显示的,必须放到server的根目录下运行。
根目录是指:http://ip地址:port(端口号)/index.html
2、homepage属性
应用场景:本地访问,不限制目录访问。
例如多层目录:http://ip地址:port(端口号)/XXXX/index.html
那么需要在package.json里添加 homepage 属性。
执行打包命令后,双击index.html就可以打开访问了。