React ã¨ã Gradle ã¨ã
Mac ã« Java 㨠Node 㨠Gradle 㨠React çªã£è¾¼ãã§é£æºããããã¨ããã¡ã¢
Homebrew 話ã¯ããããã
ã¤ã³ã¹ãã¼ã«ã¯è¶ ç°¡å ãã è¦ã¦ã³ããããã°ok
次ã¯Javaã
æè¿ãã¼ã¸ã§ã¢ããã§ã´ã¿ã´ã¿æã®ãã Java ã ãã©ãOracle ã«ä»ãæ·»ãæ°ã¯ãªãã®ã§ãZulu ã«ãããã
ããå人çã«ã¯ç°å¢ãçµã¿æ¿ãããã®ã§ã
$ brew install jenv
... ãªããè²ã
$ jenv --version
jenv 0.4.4
å¿ããªããã¡ã« .bash_profile
ã
export JENV_ROOT="$HOME/.jenv" if [ -d "${JENV_ROOT}" ]; then export PATH="$JENV_ROOT/bin:$PATH" eval "$(jenv init -)" fi
次㫠ZuliJava ããã¦ã³ãã¼ã+ã¤ã³ã¹ãã¼ã«ã
è¿·ããææ°ã
$ java -version openjdk version "11.0.1" 2018-10-16 LTS OpenJDK Runtime Environment Zulu11.2+3 (build 11.0.1+13-LTS) OpenJDK 64-Bit Server VM Zulu11.2+3 (build 11.0.1+13-LTS, mixed mode)
ããããã³ã¬ã jenv ã®é ä¸ã«å ¥ããã
$ /usr/libexec/java_home -V Matching Java Virtual Machines (1): 11.0.1-zulu-11.2+3, x86_64: "Zulu 11" /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home $ mkdir -p ~/.jenv/versions $ jenv add /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home openjdk64-11.0.1 added 11.0.1 added 11.0 added $ jenv global openjdk64-11.0.1 $ jenv rehash
æµãã§ Greadle
ã³ã¬ã¯ Homebrew ããå ¥ãã
$ brew install gradle
ãã以ä¸ä½ãæ¸ããã¨ãããããï¼
nodeJS ãããè¾¼ã
ããããã¼ã¸ã§ã³ç®¡çãããã®ã§ãnodebrew ãçªã£è¾¼ã
$ brew install nodebrew ...ãããã $ vim .bash_profile export PATH=$HOME/.nodebrew/current/bin:$PATH #âè¿½è¨ $ /usr/local/opt/nodebrew/bin/nodebrew setup_dirs
ããã§æºåå®äºã
$ nodebrew ls-remote v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6 v0.1.0 v0.1.1 v0.1.2 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7 ... v11.0.0 v11.1.0 v11.2.0 v11.3.0 v11.4.0 v11.5.0 ... $ nodebrew install v11.5.0 Fetching: https://nodejs.org/dist/v11.5.0/node-v11.5.0-darwin-x64.tar.gz ######################################################################## 100.0% Installed successfully $ nodebrew ls v11.5.0 current: none $ nodebrew use v11.5.0 use v11.5.0 $ node --version v11.5.0
ãããå®äºã
失æãã°ï¼Yeaomanã§React+Gradleã ã¼!ï¼
Yeaoman ã¨ã¼ãã³å
çã¯ããã
ããã¸ã§ã¯ããã³ãã¬ã¼ãã¸ã§ãã¬ã¼ã¿ã¨å¼ã°ãããã®ã§ãè²ã
é¢åãªããã¸ã§ã¯ãã®åæè¨å®ããã£ã¦ãããã
$ npm install -g yo
調ã¹ã¦ã¿ãã¨â¦ãã
ã¡ãã£ã¨å¤ããªâ¦å¤§ä¸å¤«ãï¼
ãã£ã¦ã¿ããã©ãå¤ããã¦ã©ã¤ãã©ãªããªãã¦ã³ã±ãâ¦
React ãã¹ã¯ã©ãã
以ä¸ã®ãµã¤ããã¿ãªãããããã¸ã§ã¯ãã使ã
ããã¾ã§ã§ http:localhost:3000 ã«ã¢ã¯ã»ã¹ããã¨ãããªæã
Gradle ãã飿º
plugins { id 'java' id "com.moowork.node" version "1.2.0" id 'org.springframework.boot' version '2.1.1.RELEASE' }
Plugins ã« com.moowork.node
ãçªã£è¾¼ãã¨ãnpm_command ã使ããããã«ãªãã®ã§ãpackage.json ã«
"scripts": { "compile": "webpack", ...
ãªãã¦æ¸ãè¾¼ãã§ããã¦ãbuild.gradle
æçµè¡ã§
// Build before resouerces
classes.dependsOn npm_run_compile
ãããªé¢¨ã«ãã¦ããã°ãã³ã³ãã¤ã«å®è¡æã«ãnpm run compile
ãå®è¡ãããJavaScript ãã³ã³ãã¤ã«ãããããã«ãªãã
ãã¨ã¯ webpack.config.js
ãå¼ã£ã¦ãpublish ãªã½ã¼ã¹ãã£ã¬ã¯ããªã«æ¾ãè¾¼ãã§ããã°ããã