フレンズなんだね!
- src配下に成果物を置きましょう。ディレクトリは空気読んで
- gulpでビルドします。ビルドについては後述
- ES6で書こうな!
- ビルドの成果物はbuild配下に出力されます。build配下はgithubにコミットしないでいいです。.gitignoreに入れてあります。
gulp-webserver
を確認用webserverとして用意しました。後述します。
- v8.x系最新のnodejsとnpmを入れておきましょう。
- GitHubからcloneしてきます
$ npm install
- gulpを直接叩かず、npmスクリプトにいろいろ書いています。
$ npm run build # ビルドします
$ npm run clean # ./build配下をすっからかんにします
$ npm start # webserverを立ち上げます
$ npm run brower # ブラウザで http://127.0.0.1:3000 を開きます
-
npm run build:continuous
コマンドを用意しました。こいつは呼ばれると一発buildを実行し、その後src
配下のコードを監視。変更があれば自動でビルドが走るようになります。きゃー素敵抱いて! -
gulpを直接叩きたいときは
npx
コマンドが便利です。
$ npx gulp build
- VisualStudio Codeを利用している場合、taskが定義してあるので
cmd + shift + p
からnpmタスクが実行できます。
npm start
するとwebserveが立ち上がり、./build
配下の静的ファイルを確認できます。
http://127.0.0.1:3000 にアクセスすると ./build/index.html
が表示されます。あとは空気読んで!
src/config.json
に各種APIのkeyなどを記述してください。GitHubには展開しないので、ハッカソン当日になんらかの方法でシェアします。念力とか
- 他のモジュールを参照したいときは
require
します。npm run build
するとbrowserify
を使ってrequire
で指定されている依存関係を解決します。node.js
みたいな形で書くんですね。- たとえば外部のライブラリ(jQueryとか)を使いたい場合は
npm install --save-dev jQuery
してライブラリをインストール。その後、使いたいコード中でconst $ = require('jquery')
とかすると、jQueryが使えるようになります。 - 内部の他のjsを指定したい場合は
const hoge = require('./plugins/moge')
とかすれば読み込まれます。逆に言うとrequireしないと絶対に読み込まれません。
- pluginは
src/js/plugins
配下に置きましょう - ファイル名はなんでもいいですが、
action
メソッドを必ず作ってください。app-main.js
はpluginのaction
メソッドを呼び出します。action
メソッドはvias
とcallback
いうオブジェクトを引数にとります。最後にcallback
を呼ぶことでrenderingします。。- 返却するjsonには喋りのパラメタとか喋る内容とかくま画像とかを指定してください。あとは空気読んで!
- pluginを書いたら、
app-main.js
のplugins
配列のなかでrequireしてください。- ディレクトリ読んで自動でrequireさせようとおもったけど、同じこと考えてる人がissue立ててPR出してる最中だったので諦めた。
- Chromeでlocalhostから外部APIを叩くと CORS違反で超怒られる。このプラグインを入れておくといろいろ捗る