create-react-app은 언제 코드를 난독화 또는 최소화합니까?
webpack에 대한 기본적인 질문이 있어 도움말(코드 난독화/업글라이제이션에 대하여)을 이용할 수 있는 반응을 보이고 있습니다.
사용하고 있다create-react-app
(실행 후) 운용용 번들빌드를 작성하는 것 같습니다.yarn build
).
그리고 그 파일에는 모든 것이 메인에 담겨 있는 것 같습니다.JS 파일 및 메인.CSS 파일 등저는 "파이어베이스 전개"를 사용하여 라이브를 푸시합니다(저의 경우).나는 내 코드를 위화시켜 어떤 개발자도 완전히 읽을 수 없게 하고 싶다.
그런데 Chrome에서 앱을 보면 메인 화면이 안 나와요.JS 또는 기타 번들파일모든 개별 파일과 내가 작성한 코드를 정확하게 보여줍니다.왜 그런 줄 알아?크롬의 'sources' 탭에 main.js 파일이 표시되지 않는 이유는 무엇입니까?소스 지도와 관련된 건가요?
소스 맵이 포함되어 있지 않은지 확인하는 더 좋은 방법이 있습니다.프로젝트 루트 폴더에 .env 파일을 만들고GENERATE_SOURCEMAP=false
소스 맵 없이 빌드할 수 있습니다.
React는 빌드 중 코드를 최소화하고 소스 맵을 생성합니다.JS는 결국 비밀 때문에가 아니라 최소화의 부산물로 난독화됩니다.이렇게 하면 최종 사용자는 스크립트를 세부화하지 않은 경우보다 빠르게 로드할 수 있으며 개발자 도구를 열 때 사용자(또는 사용자)와 다른 모든 사용자가 원래 코드를 탐색할 수 있습니다.
들여다보면build/static/js
빌드 후의 디렉토리에는, 2개의 페어가 있습니다..js
그리고..map
파일입니다. JS 파일은 당신의 웹사이트와 함께 로드됩니다..map
파일은 개발자 도구를 열면 필요에 따라 로드하려면 개발자 도구를 엽니다.
소스 맵 생성을 비활성화하려면 다음 명령을 사용하여 빌드를 실행합니다.GENERATE_SOURCEMAP
환경변수 설정false
.
GENERATE_SOURCEMAP=false npm run build
또는
GENERATE_SOURCEMAP=false yarn build
의 일부로 만들 수도 있습니다.build
을 대본으로 쓰다package.json
{
…
"scripts": {
…
- "build": "react-scripts build"
+ "build": "GENERATE_SOURCEMAP=false react-scripts build"
}
}
소스 맵 생성을 생략하면.map
파일은 실가동 상태가 되지 않으며 원본 소스 코드를 다른 사용자(사용자 포함)가 사용할 수 없습니다.
구축만 하면 됩니다.--nomaps
파라미터:
npm run build --nomaps
도움이 되었습니다.
"scripts": {
"build": "set \"GENERATE_SOURCEMAP=false\" && react-scripts build",
},
이것을 시험해 보세요.
{
…
"scripts": {
"build": "set GENERATE_SOURCEMAP=false && react-scripts build"
}
}
제겐 효과가 있었지만.map
파일은 더 이상 운영 환경에 있지 않지만 여전히 모든 개별 파일 및 우리가 작성한 코드와 node_module 폴더가 표시됩니다.
파이어베이스의 무료 버전이나 Now, surge, netlify 등의 무료 도입 서비스를 사용하고 있기 때문에, 파이어베이스에 의한 것일지도 모릅니다.저도 잘 모르겠어요.
반응 코드를 난독화하는 중...
음... 리액트 코드를 난독화하려고 여행 중이었는데 Stack Overflow가 검색 조건을 제대로 이해하지 못했습니다.
그래서 저는 "모든 함수와 변수 이름을 자동으로 변경하여 생산 시 리액트 코드를 확인한다"는 대신 이곳에 오게 되었습니다.
암호를 해독하려다 길을 잃은 여러분들을 위해...터서가 방법이야
이쪽에서 지적한 바와 같이:)
언급URL : https://stackoverflow.com/questions/49123885/when-does-create-react-app-obfuscate-or-minify-code
'programing' 카테고리의 다른 글
react-router 4 및 styled-component in react를 사용할 때는 라우터 외부에서 Route 또는 withRouter()를 사용하지 마십시오. (0) | 2023.03.09 |
---|---|
잭슨과의 불변의 롬복 주석 클래스 (0) | 2023.03.09 |
Angular를 사용한 파일 업로드JS (0) | 2023.03.04 |
클릭: 작동하지 않음 반응 js (0) | 2023.03.04 |
WordPress 쇼트 코드 내에서 자동 서식 사용 안 함 (0) | 2023.03.04 |