久々にAngularで作ろうとしたら、設定することがこまごまあったのでメモ兼ねてまとめ。
環境は以下の通り。
- VSCode
- angular-cli 6.0.8
- angular:6.0.3
newするときにスタイルをscssに設定
プロジェクトはangular-cliで作りますが、cssではなくscssで作りたいのでプロジェクト作成時に設定します。
ng new プロジェクト名 --style=scss
コードの修正
ng new
でプロジェクトを作った直後だとなぜかng test
とng e2e
が通らないので以下の2箇所を修正します。
title = 'app'; // appをプロジェクト名と同じに変更
expect(app.title).toEqual('app'); // appをプロジェクト名と同じに変更
.htmlhintrcの作成
angularのテンプレートとしてhtml使っているため、HTMLHint使ってると警告が出ます。
なので、.htmlhintrcをプロジェクト直下に作って部分的に警告を出さないように設定を記述します。
{
"tagname-lowercase": true,
"attr-lowercase": false,
"attr-value-double-quotes": true,
"doctype-first": false,
"tag-pair": true,
"spec-char-escape": true,
"id-unique": true,
"src-not-empty": true,
"attr-no-duplication": true,
"title-require": true
}
angularの属性はlowercaseじゃないものも使うため"attr-lowercase"
と、
部分的なHTMLのため先頭にDOCTYPE書かないので"doctype-first"
をfalseにします。
git-hookの設定
プッシュするときにテストを実行させてからプッシュしたいので、.git/hooks/pre-pushに以下のコマンドを記述します。
ng test --watch=false
ng e2e
ng test
のほうは--watch=false
をつけないとテスト後に処理が終了しません。
npm shrinkwrap
Angularだからというわけではないですが、勝手にバージョンが変わらないようにnpm shrinkwrap
実行してnpm-shrinkwrap.json
を作っておきます。
後はgitlab-ciの設定とかもしたけど、それは別記事でまとめる予定です。
(7/17追記)gitlab-ciの設定についてまとめました。
https://qiita.com/frost_star/items/efd624d35edd2aef4379