Enact 개발환경 설정
Enact는 App 개발을 편리하게 도와주는 커맨드라인툴(Enact CLI)을 제공합니다. 이번 포스팅에서는 CLI를 이용하여 개발환경을 설정하는 방법을 소개합니다.
사전 준비
Enact 개발을 시작하기 앞서 몇 가지 software를 미리 설치해야 합니다. 가장 중요한 것은 Node JavaScript runtime 버전 6.4 이상입니다. 터미널창에서 node --version
명령으로 버전을 확인할 수 있습니다. 만약 설치되어 있지 않거나 예전버전이라면 위의 링크를 방문해서 설치해 주세요.
Enact CLI 설치
Enact CLI는 Enact 앱을 생성, 테스트, 패키지등을 할 수 있도록 명령어를 제공합니다. npm
을 사용하여 설치할 수 있습니다.
npm install -g @enact/cli
설치하고 나면 어디서든 enact
명령어를 실행할 수 있습니다. enact -v
명령을 통해 잘 설치되었는지 확인해 보세요.
enact 전체 명령어에 대한 자세한 내용에 대해서는 다음을 참고하시기 바랍니다. package README
Enact App 구조
새로운 앱을 생성하는데 사용하는 enact create [<directory>]
명령입니다. [<directory>]
는 옵션이며 기본값은 현재 디렉토리 입니다. create
명령은 기본 디렉토리 구조와 앱 환경을 설정합니다.
디렉토리 구조
앱 디렉토리는 다음을 포함합니다:
README.md
앱을 생성하고 빌드하는데 필요한 유용한 팁들이 있습니다.
package.json
앱을 정의하는 파일입니다. react 앱에서 사용하는 package.json과 동일할 목적을 갖고 있습니다.
node_modules
외부 node module을 모두 포함하는 디렉토리 입니다. (@enact/core
, react
등)
resources
localization 파일을 포함하는 디렉토리 입니다.
src
여러분이 개발하는 모든 소스코드를 포함하는 디렉토리 입니다. JS파일과 CSS/LESS 파일을 포함합니다.
webos-meta
webOS 디바이스에 deploy 하는데 필요한 파일을 포함합니다.
App
├── README.md
├── package.json
├── resources
│ └── ilibmanifest.json
├── src
│ ├── App
│ │ ├── App.js
│ │ ├── App.less
│ │ └── package.json
│ ├── components
│ │ └── README.md
│ ├── index.js
│ ├── iso.js
│ └── views
│ ├── MainPanel.js
│ └── README.md
└── webos-meta
├── appinfo.json
├── icon-large.png
├── icon-mini.png
└── icon.png
앱을 패키징 하게 되면 dist
디렉토리가 추가로 생성되고, 이 안에 deploy를 위한 파일들이 위치하게 됩니다. 나중에 enact pack
명령에서 자세히 다루겠습니다.
앱 환경설정
package.jaon
파일에서 앱 환경을 설정합니다. 여기서는 자주 사용되는 필드에 대해서만 설명하겠습니다.
"name"
, "version"
, "description"
, "author"
, "license"
- Application meta-data. 앱의 상세 정보를 담고 있습니다. 이 항목들은 앱 빌드에 영향을 주지 않습니다.
"enact"
- The Enact-specific configuration block. Moonstone 앱을 위한 값을 default로 담고 있습니다. 빌드 시 생성되는 index.html
파일에 앱 타이틀을 포함하고 싶으면, "title"
필드를 추가 하여야 합니다.
package.json
{
"name": "App",
"version": "1.0.0",
"description": "A general template for an Enact Moonstone application.",
"author": "",
"main": "src/index.js",
"scripts": { [omitted] },
"license": "UNLICENSED",
"private": true,
"repository": "",
"enact": {
"isomorphic": "src/iso.js",
"ri": {
"baseSize": 24
}
},
"eslintConfig": {
"extends": "enact"
},
"dependencies": { [omitted] }
}
예고
자, 이제 앱을 만들기 위한 기본 준비가 끝났습니다. 다음시간에는 Hello Enact 를 직접 만들고 빌드해 보도록 하겠습니다.
링크
댓글
댓글 쓰기