Middleman에서 영감을 얻은이 Node.js 도구 체인은 정적 웹 앱인 경우 빠른 제작을 허용하기 위해 벽돌과 플러그인 모음으로 작성되었습니다.
여기서 초점은 CSS 또는 JavaScript에서 더 무거운 앱을 신속하게 개발하고 배포하여 타이핑이 가장 적은 양의 작업을 수행 할 수있는 도구를 활용하는 것입니다 (예 : 적음, 스타일러스, 커피 스크립트, Jade). 마지막으로, 파일 관리를 최적화하여 앱이 가능한 빨리 (아마도 일부 CDN을 통해)로드하십시오.
먼저 시스템 서버를 설치해야합니다. 실제로 정의 된 경로와 템플릿이 많은 Bricksjs+Servitude 서버 일뿐입니다.
npm install systatic -g
systatic new my_proj
cd my_proj
systatic
마지막 명령은 기본적으로 포트 3000으로 서버를 실행합니다 (예 : 브릭은 --port 사용하여 포트를 변경할 수 있음).
기본 생성 프로젝트에는 config.json 파일이 제공됩니다. 이 파일은 다양한 소스 및 플러그인 조합을 정의합니다. 일반적으로 기본 설정을 따라야하지만 변경하려면 (예 : Javascripts Route를 /javascripts 에서 /js 로 변경)이 파일을 변경하려면 변경하려면 변경하십시오.
요점은 정적 사이트를 생성하는 것이므로 다음에 실행하는 명령이 build 됩니다. 이렇게하면 Nodejs와 같은 앱 서버가 필요하지 않으면 Cloudfront와 같은 어딘가에 정적 파일을 버릴 수 있습니다.
Maven과 같은 더 큰 빌드 시스템과 유사하게 정적 사이트 구축을 단계적으로 주문합니다.
단계 (무대 실행은 모든 단계를 실행합니다) :
단계를 선택하면 첨부 된 모든 플러그인을 해당 단계까지 실행합니다.
systatic merge
출력 디렉토리를 정리하고 HTML 리소스를 빌드하고 자산을 빌드 한 다음 최소한 파일로 병합합니다.
systatic test
똑같은 일을하지만 선택적 정적 통합 테스트도 실행합니다 (현재 구현은 없지만 Qunit과 같은 고려)
생성 된 정적 컨텐츠를 사용하면 다음은 일부 서버, Git Repo, CDN에 배포하려고합니다.
systatic publish
프로젝트 당 NPM 플러그인으로 작동하도록 하드 코딩 된 플러그인을 다시 구현하는 것을 고려하고 있습니다. 이것은 타사 플러그인이 자신의 스테이지를 빌드/렌더링 도구 체인에 추가 할 수 있도록하는 것입니다.
현재의 생각 :
누군가가 CSS로 사용되는 아이콘 세트를 스프라이트로 압축하는 기능을 추가하고 해당 정보를 다음 작업 (압축 단계에 바인딩)으로 전달하려는 기능을 추가하려는 경우입니다.