저는 react-create-app
를 사용하여 Chrome 확장 프로그램을 빌드합니다. React-create-app에서 npm run build
를 사용하면 다음 오류가 발생합니다.
인라인 스크립트 실행은 콘텐츠 보안 정책 지침 "script-src 'self'"를 위반하기 때문에 거부되었습니다. 인라인 실행을 활성화하려면 "unsafe-inline" 키워드, 해시('sha256-5=') 또는 일회성 nonce('nonce-...')를 사용하세요.
인용문>index.html
<머리> <링크 rel="스타일시트" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 무결성="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="익명" />React 앱 머리> <본문>
manifest.json
{ "manifest_version": 2, "name": "IC 프로젝트 크롬 확장 프로그램", "description": "이 확장 프로그램은 실제 Chrome 확장 프로그램을 만들기 위한 시작점입니다.", "버전": "0.0.1", "browser_action": { "default_popup": "index.html", "default_title": "팝업 열기" }, "아이콘": { "16": "자산/icon-128.png", "48": "자산/icon-128.png", "128": "자산/icon-128.png" }, "content_security_policy": "script-src 'self' '안전하지 않은 평가'; object-src 'self'" }
몇 시간 동안 고민한 끝에 효과적인 해결책을 찾았습니다. 스크립트 실행은 Mac과 PC 간에 다릅니다. 내가 찾은 답변 중 상당수는 "설정"이 있는 경우와 "설정"이 없는 경우에 차이가 있었습니다. 일부는 "&&"가 있고 일부는 없습니다. 하지만 그 중 어느 것도 나에게 적합하지 않습니다.
간단히 말하면 다음과 같이 "교차 환경" npm 패키지를 사용하세요.
으아악이 기능은 PC에서 작동하며 아마도 Mac에서도 작동할 것입니다. 물론 그 전에
npm install --save-dev cross-env
해야 합니다.