아시다시피 Scotty.js는 더 이상 활성화되지 않습니다. Scotty.js 작업은 즐거웠지만 AWS는 그 사이에 AWS Amplify를 출시했고 Scotty.js와 같은 도구는 더 이상 필요하지 않습니다. AWS Amplify 콘솔을 살펴보십시오. 이는 정적 웹사이트와 단일 페이지 애플리케이션을 호스팅하기 위한 탁월한 도구입니다.
단일 명령으로 정적 웹 사이트 또는 폴더를 AWS S3에 배포
Scotty.js는 NPM에서 사용할 수 있습니다. 어디서나 scotty
명령을 사용할 수 있도록 전역 종속성으로 설치하십시오.
npm install scottyjs --global
나에게 신호를 보내줘, 스코티
AWS S3에 정적 폴더를 배포하려면 다음을 실행하세요.
스코티 {옵션}
또는
빔-미업 {옵션}
--help 또는 -h - 이 도움말을 인쇄합니다.
--version 또는 -v - 현재 버전 인쇄
--noclipboard 또는 -n - URL을 클립보드에 복사하지 않습니다(기본값: false)
--quiet 또는 -q - 명령 실행 시 출력을 억제합니다(기본값: false)
--website 또는 -w - 업로드된 폴더를 정적 웹사이트로 설정(기본값: false)
--spa - 업로드된 폴더를 단일 페이지 앱으로 설정합니다(기본값: false)
--source 또는 -s - 업로드할 폴더의 소스(기본값: 현재 폴더)
--bucket 또는 -b - S3 버킷 이름(기본값: 현재 폴더 이름)
--prefix 또는 -p - S3 버킷의 접두사(기본값: 버킷의 루트)
--region 또는 -r - 파일이 업로드될 AWS 지역, 기본값: 저장된 지역(존재하는 경우), 아직 저장되지 않은 경우 선택할 목록
--force 또는 -f - 묻지 않고 버킷을 업데이트합니다(기본값: false, 강제 영역은 -r 로 재정의될 수 있음)
--update 또는 -u - 기존 버킷 업데이트(기본값: false)
--delete 또는 -d - 기존 버킷 삭제(기본값: false)
--nocdn 또는 -c - Cloudfront 처리 비활성화(기본값: false)
--urlonly 또는 -o - 옵션에 따라 결과 URL, CDN 또는 S3만 출력합니다(기본값: false)
--expire 또는 -e - n일이 지난 버킷의 객체 삭제(기본값: 만료 없음)
--profile 또는 -a - 사용할 AWS 프로필(기본값: 'default')
--empty 또는 -y - 버킷을 비웁니다(파일을 업로드하기 전에 모든 객체 삭제)(기본값: false)
전체 튜토리얼: http://medium.com/@slobodan/single-command-deployment-for-single-page-apps-29941d62ef97
CRA 앱을 배포하려면 프로젝트 루트 폴더에서 npm run build
실행하여 빌드 버전을 생성하세요.
그런 다음 다음 명령을 사용하여 빌드 버전을 배포합니다.
스코티 --spa --source ./build
또는 버킷 이름을 지정하려면 다음을 실행하세요.
scotty --spa --source ./build --bucket 일부 버킷 이름
--spa
플래그를 사용하면 Scotty는 단일 페이지 앱에 필요한 리디렉션을 설정하므로 앱은 즉시 pushState를 사용할 수 있습니다.
단일 버킷에 여러 앱을 배포하려면 --prefix
옵션을 사용할 수 있습니다. 이는 CI 시스템이 각 분기를 경로 이름으로 사용하여 스테이징 시스템에 배포할 때 유용합니다. 예. master
브랜치는 버킷 루트( /
)로 이동해야 하므로 접두사를 설정하지 않습니다. feature/fancy-stuff
분기는 버킷 경로 feature/fancy-stuff
로 이동해야 하므로 이를 접두사로 추가하면 됩니다. 다음은 명령줄 예입니다.
# 마스터 브랜치 빌드를 버킷에 배포rootscotty --source ./build --bucket some-bucket-name# 브랜치 빌드를 bucketscotty의 브랜치 이름에 배포 --source_ ./build --bucket some-bucket-name - -/브랜치 접두사
단위 및 통합 테스트에는 Jasmine을 사용합니다. 다른 것을 사용해야 할 매우 설득력 있는 이유가 없는 한 테스트에는 Jasmine을 계속 사용하십시오. 기존 테스트는 spec 폴더에 있습니다. 다음은 몇 가지 유용한 명령 단축키입니다.
모든 테스트를 실행합니다.
npm 테스트
일부 테스트만 실행하세요.
npm 테스트 -- 필터=접두사
자세한 계층적 테스트 이름 보고를 받으세요.
npm 테스트 - 전체
MIT - 라이센스 참조