본문 바로가기

전체 글86

[React Native] Gradle build와 task build.gradle 빌드 구성 스크립트로 의존성이나 플러그인 설정 등 빌드에 필요한 설정을 함. task 작성 그래들의 실행 작업 단위 task. 기본적으로 테스크를 구성하여 실행하며, 테스크를 구성하고 작성하는 것이 빌드 스크립트를 작성하는 과정이다. #task 테스크이름 { # ...작업들 #} task sayHi { println 'HI CODING HEESONG' } task 실행 실행은 터미널에서 gralde 테스크이름으로 작성함. -q옵션을 주면 오류에 대한 로그만 출력한다. $ gradle sayHi gradle sayHi > Configure project : HI CODING HEESONG BUILD SUCCESSFUL in 10ms $ gradle -q sayHi HI.. 2021. 9. 7.
[React] 함수의 재생성 방지해주는 useCallback로 퍼포먼스 향상하기 useCallback(callback, deps) useCallback은 함수를 의미없이 호출하는 것을 방지하기위해 캐싱해두는데, deps의 값들 중 하나라도 변경되었다면 그것을 감지해서 함수를 새로만든다. 바뀐게 없으면 이전에 만든 함수를 사용함. const onSubmit = useCallback((e)=>{ e.preventDefault(); console.log(email, nickname) }, [email, nickname]) 내부 변수(=e)는 선언할 필요가 거의 없고, 외부변수인 경우만 deps 추가해주도록한다. 2021. 9. 3.
[React] webpack.config.ts에서 이모션 바벨 플러그인 설정 const config: Configuration = { ... module: { rules: [ { options: { env: { development: { plugins: [['@emotion/babel-plugin',{sourceMap: true}]] }, production: { plugins: ['@emotion/bable-plugin'], } } } } ] } ... } 플러그인 설정은 [](배열)로 플러그인을 한번 감싸고 두번째 인자로 설정값을 입력하면 됨. - sourceMap: 활성화할 경우, 자바스크립트 파일의 스타일 선언으로 직접 이동함. 이모션 바벨 플러그인 2021. 9. 3.
[React Native] jdk8 build error 평상시 처럼 안드로이드를 빌드했는데 java 관련 빌드 에러 발생. An exception has occurred in the compiler (1.8.0_265). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.AssertionError: annotationType(): unrecogni.. 2021. 9. 3.
[TIP] brew로 node 버전 바꾸기 노드 버전 검색 brew search node 원하는 버전으로 설치 brew install node@12 노드 패키지는 동시에 사용할 수 없기 때문에 기존에 설치되어 있는 노드버전을 언링크해야 한다. brew unlink node 버전 연결하기 brew link node@12 경우에 따라 --force로 강제 플래그를 사용해야 할 수 있다. brew link --force --overwrite node@12 새로운 node 버전이 나와 실행하여 brew를 업그레이드할 경우 링크가 제거되고 최신 node 버전이 대신 링크된다. 원하는 버전을 고정하여 사용하고 싶다면 PATH에 추가하는 것이 좋다. echo 'export PATH="/usr/local/opt/node@12/bin:$PATH"' >> ~/.z.. 2021. 9. 3.
> Task :react-native-firebase_messaging:compileDebugJavaWithJavac FAILED - build.gradle (app): project.ext.envConfigFiles = [ debug: ".env", releasestaging: ".env.staging", release: ".env.production" ] buildscript { repositories { gradlePluginPortal() } dependencies { classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.10, 0.99.99]' } } apply plugin: "com.android.application" apply plugin: 'com.google.gms.google-services' apply plugin: 'com.onesignal.. 2021. 9. 3.
[React Native] The minCompileSdk (31) specified in a... 빌드 에러 하루 일과처럼 몸에 벤 안드로이드 빌드 시전 중 갑자기 뜬 에러 The minCompileSdk (31) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties) 종속성 AAR 메타데이터가 이제 31을 최소 컴파일 SDK로 지정됨. 그래서 그거에 맞게 수정해줘야한다. build.gradle파일을 열어서 수정해주자. buildscript { ext { ... compileSdkVersion = 31 targetSdkVersion = 31 ... } } compileSdkVersion, targetSdkVersion 둘 다 수정해줘야한다. 2021. 9. 3.
[React Native] Run custom shell script 'Bundle React Native code and images' 빌드 오류 해결 Run custom shell script 'Bundle React Native code and images' 에러가 나면서 빌드 실패... 이유가 뭔지 검색해보니까 node랑 관련이 있었다. 회사 노트북에서는 빌드가 되는데 왜 집에서는 안될까? 차이점도 생각해보니까 node 설치를 다르게 했던 것. 회사에서는 brew로 node를 설치했고, 집에서는 nvm으로 설치했는데 이 nvm 설정해주는 과정에서 bash_profile, zshrc 파일에서 경로를 커스텀해줬던 것을 인식하지 못했기 때문이다. 그래서 nvm으로 설치한 node를 지우고 brew로 설치해줘서 해결을 해줬다. $ rm -rf $NVM_DIR ~/.npm ~/.bower $ brew install node [참고 사이트] 2021. 8. 21.