React create-react-app
동생이 잘갔다. 온 친지들은 내가 동생인줄안다 히힛 좋아할거다. 안그러면 지는거같다. 어머니께서 가족들이 모인자리에서 “자식이 다 고만고만하면 걱정이 없지만, 하나는 잘살고 하나는 지지리도 궁상이면 걱정거리가 한가득”이라길래 왠지 찔렸다. 그래도 오랜만에 친지들과 어머니 아버지 지인들을 뵈서 좋았다. 좋다고 하자 아니면 지는거같다.
덤벼라 세상아 지지리 궁상맞을진 몰라도 다 박살내주지
1. create-react-app
원래 초기세팅이 오래걸린다. 그런걸로 보면 android는 매우 편하게 원하는 앱의 모양까지 초창기에 지정할 수 있다. 일반적으로 웹은 그런걸 본적이 없었는데 react는 지원하게 만들어놨다.(고마워 메타)
좀 더 들여다보자
2. 속성 시작
# path: 현재 경로에서 생성하고 싶으면 your-project-name, 그냥 거기 받고싶으면 .
$npx create-react-app {path}
# $cd your-project-name 경로에 생성하면 그경로로
$npm start
와아아아 설정이 한방에 끝.
3. template 지정
--template [template-name]
옵션 추가로 템플릿을 입히고 시작할 수 있단다.
$npx create-react-app {path} --template [template-name]
문서는 늘 옳다. 문서를 읽자.
남에건 늘 옳지만은 않지만 생산성만은 무시할수없다.
$npx create-cra-template
# 각자 사용법이 다르다. 역시 남에겐 ㄷㄷ 문서와는 ㄷㄷ
$npx create-react-app %PROJECT_NAME% --template npm-library
$cd %PROJECT_NAME%
$node ./prepare.js
# makes required package.json configuration
4. 기본 제공 명령
npm start
: http://localhost:3000 지정 실행npm test
: 기본적으로 마지막 커밋 이후 변경된 파일과 관련된 테스트를 실행한다.npm run build
: 빌드를 하지 않으면 브라우저는 JSX를 모르기에 사용이 불가하다.
5. 폴더 구조
your-app/
README.md
node_modules/
package.json
public/
index.html
favicon.ico
src/
App.css
App.js
App.test.js
index.css
index.js
logo.svg
public/index.html
페이지 템플릿src/index.js
js 진입점src
내에서 webpack파일 처리
6. script
npm start
npm test
npm run build
npm run eject
: 단일 빌드 종속성을 제거한다. 모든 구성파일과 전이적 종속성(webpack, Babel, ESLint 등)package.json
내를 재정렬하여 하는것이 낫다.-
단방향적이다. 돌아갈수없음. 인생과 같네
-
7. 지원 브라우저 및 기능
7.1. 언어
IE 9, 10, 11 폴리필이 필요하다.
- ES6
- 지수 연산자(ES2016)
- 오브젝트 레스트/스프레드 속성(ES2018)
- Dynamic import()
- 클래식 필드 및 정적 속성(3단계)
- JSX, Flow, TypeScript
7.2. 지원 브라우저
browerslist
구성이 파일에 포함된다. async/awit같은 언어 기능을 사용할 때 좋은 개발 환경을 제공하나 프로덕션 환경의 많은 브라우저와 호환성이 좋다. package.json > 0.2%
지원브라우저를 확인할 수 있다. build development start browserlist
"browerslist": {
"production: [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
폴리필이 자동 포함되지 않으니, 지원하는 브라우저에 따라 필요한 언어 기능을 폴리필 해야한다.
편집 후
browerslist
변경 사항이 즉시 적용되지 않는다. ->babel-loader
package.json
, 빠른 해결은node_modules/.cache
폴더 삭제 후 시도
8. Updating to New Releases
9. Setting Up Your Editor
10. Developing Components in Isolation
11. Analyzing the Bundle Size
12. Using HTTPS in Development
13. Adding a Stylesheet
14. Adding a CSS Modules Stylesheet
15. Adding a Sass Stylesheet
16. Adding a CSS Reset
17. Post-Processing CSS
18. Adding Images, Fonts, and Files
19. Loading .graphql Files
20. Using the Public Folder
21. Code Splitting
22. Installing a Dependency
23. Importing a Component
24. Using Global Variables
25. Adding Bootstrap
26. Adding Flow
27. Adding TypeScript
28. Adding Relay
29. Adding a Router
30. Adding Custom Environment Variables
31. Making a Progressive Web App
32. Measuring Performance
33. Creating a Production Build
34. Running Tests
35. Debugging Tests
36. Proxying API Requests in Development
37. Fetching Data with AJAX Requests
38. Integrating with an API Backend
39. Title and Meta Tags
40. Deployment
41. Custom Templates
42. Can I Use Decorators?
43. Pre-Rendering into Static HTML Files
44. Advanced Configuration
45. Alternatives to Ejecting
46. Troubleshooting
troubleshooting last updated 2/13/2020 by Lewis Llobera
양이 어마어마한지도 모르고 시작한 정리
react 세팅법이 다 나와있는거 같다.
참조
create-react-app: custom-templates
npmjs: cra-template
npmjs: accordproject/concerto-ui-core
npmjs: create-cra-template
create-react-app: running-tests
create-react-app: production-build
create-react-app: deployment
github: react-create-app/react-app-polifill
본문 참조(너무많아요)