일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 게시판
- 출처 : https://webdir.tistory.com/506
- object
- 출처 : https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
- https://velog.io/@velopert/create-typescript-react-component
- http://jeonghwan-kim.github.io/dev/2019/06/25/react-ts.html
- toString
- Today
- Total
Back Ground
Node - 시멘틱 버전 체크를 위한 모듈 [semver] 본문
시멘틱 버전 semver
한글로는 유의적 버전이라 한다.
1.2.3 이라고 할때 각 자리수를 어떻게 매기지는 정의한 개념이다.
npm : https://www.npmjs.com/package/semver
semver
node-semver : 시멘틱 버전 체크를 위한 노드 모듈이다.
- valid(): 유효한 버전 형식인지 체크
- satisfies(target, required): target 버전이 required 조건에 맞는지 체크
[이용 방식]
semver 모듈을 이용해 서버 초기화 작업시 버전 체크하는 로직을 추가할 수 있다.
[노드 버전 체크]
package.json 파일에서 노드 버전과 실제 설치된 노드버전을 체크한다. satisfies() 함수 호출후 올바른 버전이 아닐경우 에러 메세지를 출력한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | let semver = require('semver'), packages = require('./package.json'); function checkNodeVersion() { // 노드 버전이 지원되지 않는 경우 사용자에게 알려주고 종료한다. try { if (!semver.satisfies(process.versions.node, packages.engines.node)) { console.error('\x1B[31mERROR: Unsupported version of Node'); console.error('\x1B[31mThis app needs Node version ' + packages.engines.node + ' you are using version ' + process.versions.node + '\033[0m\n'); process.exit(0); } } catch (e) { return; } }, | cs |
출처 : http://blog.jeonghwan.net/%EC%84%9C%EB%B2%84-%EA%B5%AC%EB%8F%99%EC%8B%9C-%EB%B2%84%EC%A0%84-%EC%B2%B4%ED%81%AC/
Semantic version semver
In Korean, it is called a significant version .
When we say 1.2.3, how to assign each digit is a defined concept.
npm: https://www.npmjs.com/package/semver
semver
node-semver : A node module for semantic version check.
- valid(): Checks whether the version format is valid
- satisfies(target, required): Checks whether the target version meets the required conditions.
[How to use]
You can use the semver module to add logic to check the version when initializing the server.
[Node version check]
Check the node version and the actually installed node version in the package.json file. If the version is not correct after calling satisfies(), an error message is displayed.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | let semver = require('semver'), packages = require('./package.json'); function checkNodeVersion() { //If the node version is not supported, notify the user and exit. try { if (!semver.satisfies(process.versions.node, packages.engines.node)) { console.error('\x1B[31mERROR: Unsupported version of Node'); console.error('\x1B[31mThis app needs Node version ' + packages.engines.node + ' you are using version ' + process.versions.node + '\033[0m\n'); process.exit(0); } } catch (e) { return; } }, | cs |
セマンティックバージョンsemver
ハングルでは有意バージョンという。
1.2.3としたときに、各桁をどのように付けられる定義概念である。
npm : https://www.npmjs.com/package/semver
semver
node-semver:セマンティックバージョンチェックのためのノードモジュールである。
- valid():有効なバージョンの形式であることをチェック
- satisfies(target、required):targetバージョンがrequired条件を満たしてチェック
【利用方法】
semverモジュールを利用してサーバーの初期化作業時のバージョンチェックするロジックを追加することができる。
[ノードのバージョンチェック]
package.jsonファイルでノードのバージョンと実際のインストールされたノードのバージョンをチェックする。satisfies()関数の呼び出し後、正しいバージョンではない場合は、エラーメッセージを出力する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | let semver = require('semver'), packages = require('./package.json'); function checkNodeVersion() { //ノードのバージョンがサポートされていない場合、ユーザーに通知終了する try { if (!semver.satisfies(process.versions.node, packages.engines.node)) { console.error('\x1B[31mERROR: Unsupported version of Node'); console.error('\x1B[31mThis app needs Node version ' + packages.engines.node + ' you are using version ' + process.versions.node + '\033[0m\n'); process.exit(0); } } catch (e) { return; } }, | cs |
出典:http://blog.jeonghwan.net/%EC%84%9C%EB%B2%84-%EA%B5%AC%EB%8F%99%EC%8B%9C-%EB%B2%84%EC%A0%84-%EC%B2%B4%ED%81%AC/
'Javascript > Node.js' 카테고리의 다른 글
Node - 자식 프로세스 [child_process] (0) | 2019.03.11 |
---|---|
Node - 외부 명령어를 실행 해주는 모듈 [shelljs] (0) | 2019.03.11 |
Node - Log color 지정 모듈 [chalk] (1) | 2019.03.11 |
Node - pm2란 (0) | 2019.03.08 |
Node - npm 설치 항목 목록 보는법 (0) | 2019.03.08 |