爆速でexpressのwebアプリ作成
はじめに
簡単なUIを持ったアプリをwebページが作成したかったので、expressでサクッと作ります。
nodeはインストール済み前提です。
$ node -v
v15.4.0
作り方
express-generatorを使うことで、雛形を爆速で作成できます。
1. ディレクトリ作成
$ mkdir my-site
$ cd my-site
2. generatorを追加
$ yarn init
$ yarn add -D express-generator
$ yarn install
3. 雛形を作成
今回はあえてcurrent directoryに作成します。
$ npx express -v jade -c sass --git -f ./
npxでnpmでインストールしたモジュールを使用できます。
-v: add view support (dust|ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)-c: add stylesheet support (less|stylus|compass|sass) (defaults to plain css)--git: add .gitignore-f: force on non-empty directory
作成後は以下のような構成になっており、package.jsonは上書きされています。
.
├── app.js
├── bin
├── node_modules
├── package.json
├── public
├── routes
└── views
4. 起動する
$ yarn install
npmモジュールをインストールします。
少し時間がかかります。
$ yarn start
expressを起動します。
http://localhost:3000/ にアクセスすると、サイトが表示されます。
さいごに
スムーズに行けば10分足らずでサイトの雛形が作成できます。
CSSのBEMの命名規則を整理
はじめに **BEM(Block-Element-Modifier:ベム)**の理解が曖昧だったので、整理します。 BEMとは HTMLの要素をBlock、Element、Modifierで分けて命名すること。 Blockはパーツ自体を表す Elementはパーツの部品 Modifierはパーツの状態 Block__Element--Modifier の形式で書く 各名前が複数単語の場合は、-(ハイフン)で繋ぐ BEMのメリデメ BEMの特徴は、明確な要素を指定したCSSできようですが、以下のメリデメがあります。 メリット CSSの他のパーツへの影響を考えなくてよい セレクタを入れ子にしない => 優先度問題を解消 広く使われている デメリット class名が長くなる 全ての要素にclass名を付けるので面倒 Bootstrapと相性が悪い(BootstrapはOOCSSを採用している) 例 logo__company-name この例では、Block__Elementの形式で、Modifier指定していません。 .article-list { width: 100%; &__article-title { font-size: 20px; } } SASSだと、Elementを&で追加する。 .article-list { width: 100%; &__article-title { font-size: 20px; &--red { font-size: 20px; color: red; } } } Modifierも&で追加する。 命名規則がわかっていると、CSSから意図が汲み取れるので読みやすくなります。 参考 class名の命名規則BEMのルールとカスタマイズ ...
Ionic vueを試してみる
はじめに Ionicとは、ハイブリッドアプリを作成するフレームワークです。 Ionicは元々Angularというフレームワークに依存していましたが、Vue.jsが使えるようになったので、実際に試してみようと思います。 アプリを作る IonicのCLIをインストール yarn global add @ionic/cli@latest global: local内でどこからでも参照できるようにします Ionic CLIの6.17.0がインストールされました。 以下のようなコマンドがあります。 completion ...................... (experimental) Enables tab-completion for Ionic CLI commands. config <subcommand> ............. Manage CLI and project config values (subcommands: get, set, unset) deploy <subcommand> ............. (paid) Appflow Deploy functionality (subcommands: manifest) docs ............................ Open the Ionic documentation website info ............................ Print project, system, and environment information init ............................ (beta) Initialize existing projects with Ionic login ....