유성 보일러 플레이트
유용한 기능을 갖춘 Blaze + Flowrouter를위한 유성 앱, ES6에 쓰여진 유용한 기능이 있습니다.
github 리포지토리 : https://github.com/fen747/meteor-boilerplate
David Panart AKA. FEN747
버전 1.1.3
버전 변경을 참조하십시오
이 저장소를 자유롭게 포크하십시오.
당신이 그것을 멋지게 생각한다면 그것을 별표하는 것을 잊지 마십시오!
이 보일러 플레이트를 사용한 공개 프로젝트 :
설치
- 이 repo를 복제하십시오 : git 클론 https://github.com/fen747/meteor-boilerplate
- 디렉토리 변경 : CD Meteor-BoilerPlate
- NPM 종속성 설치 : Meteor NPM 설치
- 즐기다 !
- 더 많은 정보는 history.md를 참조하십시오
- 유성 포럼 주제
의사
패키지 (/.meteor/packages)
- 매우 유용한 패키지가 사전 설치되거나 앱에 설치되도록 무책임해야합니다.
글로벌 변경 (/both/_globals.js)
Lodash
- 이 응용 프로그램은 이미 Erasaur : Lodash 패키지가 설치되어 밑줄 대신 '_'에 별명을 부여했습니다.
- Lodash는 undescorejs와 동일한 API를 가지고 있지만 더 나은 성능과 더 많은 기능으로 알려져 있습니다.
meteor.user ()
- Meteor.user () 함수를 최적화했습니다
- 이제 특정 사용자의 findone a findone의 매개 변수로 문자열 과 함께 사용할 수 있습니다.
- 또한 쓸모없는 재 렌즈 / Autorun Invalidation의 수를 줄이기 위해 필요한 필드를 자동으로 필터링하기 위해 문자열 배열을 전달할 수 있습니다.
- 실제로, Default Meteor.user () 함수 전체 사용자 문서를 반환합니다. 즉, DOC 변경의 모든 필드가 있으면 반응성 계산이 무효화 될 수 있습니다. 이는 특히 모바일에서 디버깅 및 성능에 매우 좋지 않을 수 있습니다.
- 다음과 같이 사용하십시오.
- meteor.user () // 전체 현재 사용자 문서를 반환합니다
- meteor.user ( "auseridstring") // 지정된 전체 사용자 문서를 반환합니다.
- Meteor.user ([ 'Field1', 'Field2', ...]) // 필터링 된 현재 사용자 문서를 반환합니다.
- meteor.user ( "auseridstring", [ 'field1', 'field2', ...]) // 필터링 된 지정된 사용자 문서를 반환합니다.
API ( /imports /API)
경로 (/imports/API/Routes)
- config.js- 경로를 Hierachy로 설정하고 여기에 트리거합니다. 전환 애니메이션을 처리하려면 Blazelayout.Render 대신 UpdateView를 사용하십시오.
- Triggers.js- 여기에서 트리거를 정의하십시오
- lours.js- 여기서 경로를 정의하십시오
컬렉션 (/imports/API/컬렉션)
- 글로벌 컬렉션을/가져 오기/API/컬렉션을 저장하십시오
- 클라이언트를 ./Client에 최소 인스턴스 만 저장하십시오
- 개인 컬렉션을 ./server에 보관하십시오
방법 (/imports/API/Methods)
- /imports/API/컬렉션에 낙관적 인 방법을 저장하십시오
- 서버 전용 메소드를 ./server에 저장하십시오
도서관 ( /수입 /도서관)
앱 컨텍스트 (/가져 오기/라이브러리/AppContext)
- 세션이나 전 세계적으로 정의 된 변수를 사용하는 것은 좋지 않습니다. 오히려 AppContext를 세션 대신 Reactivedict로 사용해야합니다.
앱 유틸리티 (/imports/library/apputilities.js)
- geteMailfromUid (userId) - 사용자로부터 첫 번째 메일을 얻으려면 이것을 사용하십시오.
- Secure (Collection) -이를 사용하여 프로덕션에서 사용자에 대한 모든 쓰기 권한을 자동으로 거부하십시오.
- Endloadingscreen- 로드 화면을 제거하는 것이 좋습니다. Arunoda의 초기 주입 패키지를 통해 주입 할 수 있습니다.
- PlayAnimation (AnimationName, ElementID, AnimationTime = 1000) - 'ANIMATIONTIME'MS 후에 클래스를 추가하고 자동으로 제거하여 요소에서 애니메이션을 재생합니다.
Blaze Helpers (/imports/library/blazehelpers.js)
- UserConnected- 이 핸들 바 헬퍼를 사용하여 userID가 있는지 확인하십시오.
- LineBreakText- DOM의 BR 요소로 문자열의 자동 트랜 포맷. 트리플 브레이스와 함께 사용하십시오
- Urlify (str) - 문자열을 URL로 유효하게 만듭니다. 예를 들어 URL에서 게시물 제목을 전달하기에 좋습니다.
- MobileViewSize- 창 너비가 601보다 작은지 확인하십시오 (MaterializecsS 표준 미디어 쿼리 기반)
- getUsername (UID) - UID를 기준으로 사용자 이름을 얻으십시오.
- equals (a, b) - 반환 true는 두 인수입니다.
- Nequals (a, b) - 반환 true는 두 인수가 동일하지 않습니다.
- logContext (context = this) - 전달 된 컨텍스트를 기록하거나
- geteMailfromUid (userId) - 사용자로부터 첫 번째 메일을 얻으려면 이것을 사용하십시오.
- Iscordova- Cordova 장치에있는 경우 True Return Return
컨텍스트 유틸리티 (/imports/library/contextutilities.js)
- 유성 깃발을 반환하고 깃발이 true로 설정된 경우 실행하기 위해 옵션 콜백을 취하는 많은 기능
- Isclient, Isserver, Iscordova, Isdevelopment, Isproduction
DOM 조작
- createMelement ({tag, classlist, id, dataset, innerhtml}) -이 통과를 매개 변수로 사용하여 생성 된 요소에 할당하려는 속성을 포함하는 객체로 사용하십시오 (자세한 내용은 함수 서명을 읽으십시오).
기능 프로그래밍 (/imports/library/funcprog.js)
- 기능 프로그래밍을위한 많은 ES6 기능 및 별칭
- 건조하고 읽기 쉬우 며 디버그 코드를 쉽게 유지하기 위해 정말 유용합니다.
유틸리티 (/imports/library/utilities.js)
- MobileViewSize- 창 너비가 601보다 작은지 확인하십시오 (MaterializecsS 표준 미디어 쿼리 기반)
- Urlify (str) - 문자열을 URL로 유효하게 만듭니다. 예를 들어 URL에서 게시물 제목을 전달하기에 좋습니다.
- tryreach (Object, 'NestEdattribute1', 'NestEdattribute2', ...) - 객체가 아닌 값으로 속성을 호출 할 경우 오류를 던지지 않고 중첩 된 객체를 탐색하는 데 매우 유용한 기능
- BuildRegexp (str) - 간단한 Regexp 빌더
- 벤치 마크 (콜백) - 콜백 성능을 확인하기위한 기본 기능
- UNBLOCK (DDP Connection) - DDP의 별명 this. 메소드가 존재하지 않을 때 오류를 던지지 않는 블록
- isvalidimageurl (url) - URL이 이미지를 가리키는 지 확인
모듈 ( /가져 오기 /모듈)
반응성 창
- Window.size- 창 크기 조정을위한 반응성 독기
- 기본적으로 클라이언트로 가져옵니다
DDP 로깅
- DDPlogging 글로벌 개체를 사용하여 클라이언트에서 DDP 메시지 청취를 전환하고 끄십시오.
- 기본적으로 클라이언트로 가져옵니다
스마트 연결 끊기 (/imports/modules/smartdisconnect.js)
- 유성에서 살아있는 세션을 유지하는 데는 비용이 많이 들다. SmartDisconnect ()를 사용하여 Meteor.status (). 사용자가 특정 시간 동안 비활성화 될 때 (기본값 300).
- SmartDisconnect.Start ()는 두 가지 선택적인 매개 변수를 사용합니다.
- 첫째, 다음과 같은 객체 : {timebeforedisconnect = 300, activeateoncordova = true}
- 둘째, 탈회 직전에 콜백이 발생합니다
- MixMaxhq에 대한 크레딧
스타트 업 ( /imports /startup)
클라이언트 (/imports/startup/client.js)
- 문서 변수에 remodElement (ID) 메소드 추가
- 글로벌 범위에 로그 함수를 추가하십시오. 디버깅 할 때 파일에 새 줄을 추가하지 않고 변수를 기록하고 반환하는 데 유용합니다.
- 스타트 업 콜백에는 Cordova에서 주입 된로드 스크린을 처리 할 수있는 소수의 기능이 많이 있으며, 역할이로드 된 후 라우터 초기를 연기하고 AppContext의 연결 상태를 따릅니다.
사용자 인터페이스 ( /imports /ui)
구성 요소 (/imports/ui/구성 요소)
레이아웃 (/imports/ui/레이아웃)
모달 (/imports/ui/modals)
페이지 (/imports/ui/pages)
스타일 시트 (/imports/ui/스타일 시트)
- 여기에 CSS / SCSS / SASS / LESS 파일 추가