====== Webコンポーネント作成ツールStencil ====== ---//2019/09/15 更新// [[https://stenciljs.com/|Stencil]]とは、Webコンポーネントを作成するためのツール(コンパイラ)だそうです。 https://stenciljs.com {{:00.webコンポーネント作成ツールstencil:pasted:20190915-230054.png}} 何を言っているのかさっぱり分かりませんね。私もよく分かりませんが、特定のフレームワークに依存せずに、フォームやナビゲーションバーなどの、『再利用可能なWebページ作成用の部品』を作成するためのツールみたいなもの、と、私は認識しています。 将来性があるのかさっぱり分かりませんが、なんか面白そうなので、Stencilを用いた簡単なアプリを写経していきたいと思います。 参考:[[https://medium.com/@takeshiamano/stencilって何-ionicにどういう影響があるの-fcf061dceec1|Stencilって何?Ionicにどういう影響があるの?(Takeshi Amano, Oct 6, 2017)]] ===== Stencil 目次 ===== [[00.stencil:01.stencilアプリのファイル構造|00.stencil:01.stencilアプリのファイル構造]] [[00.stencil:02.stencilでlocalstorage利用のtodoアプリ|02.StencilでlocalStorage利用のTODOアプリ]] [[00.stencil:03.Stencilの@propと@state|00.stencil:03.Stencilの@propと@state]] ===== リンク ===== https://www.youtube.com/watch?v=kFCqoMK4-Zs Stencil JS tutorial for beginners with practical example: Getting Started 1,191 viewsMar 17, 2021 ===== ソースコードとDEMOサイト ===== ソースコード https://github.com/adash333/stencil-starter-app DEMOサイト https://relaxed-euclid-7d8e25.netlify.com/ ===== 開発環境 ===== 2019年9月現在、残念ながら、CodeSandboxでは簡単にStencilを利用することはできません。 Angular、ReactやVue.jsと異なり、自分のパソコンで環境構築をする必要があります。 当サイトではWindows10パソコンを利用します。 Windows 10 Pro (1803) VisualStudioCode 1.37.1 git version 2.20.1.windows.1 nvm-windows 1.1.7 node 12.2.0 npm 6.9.0 yarn 1.16.0 Windows10にnvm-windowsをインストールする方法については[[https://qiita.com/rapando/items/6e9d891789b9a652c318|こちら]]が参考になります。 nvm-windowsでnodejsのバージョンを上げる方法については[[https://i-doctor.sakura.ne.jp/font/?p=38104|こちら]]をご覧ください。 ===== Windows10でStencilアプリの開始 ===== 2019年6月に[[https://www.npmjs.com/package/@stencil/core|@stencil/core]]がVersion 1.0になりました。そのため、2019年6月以前のTutorialを写経しても、うまく動かないことがあります。なるべく、2019年6月以降の記事を調べた方がよいと思われます。 C:/stencil/ フォルダ内に、stencil-starter-app/ という名前のアプリを作成することにします。 C:/stencil/ フォルダを右クリックして、『Open with Code』をクリックして、VisualStudioCodeで開き、Ctrl+@でターミナル画面を出します。次に、以下を入力して新規stencilアプリを作成します。 npm init stencil {{:00.webコンポーネント作成ツールstencil:pasted:20190915-232916.png}} 3つの選択肢が表示されますが、上から2番目の"app"を選択して、Enterを押します。 {{:00.webコンポーネント作成ツールstencil:pasted:20190915-233015.png}} ?Project name と聞かれるので、"stencil-starter-app"と入力して、Enterを2回押します。 {{:00.webコンポーネント作成ツールstencil:pasted:20190915-233907.png}} 次に、開発サーバを起動してみます。 ターミナル画面で、以下を入力します。 (2019/9月時点で"npm install") cd stencil-starter-app npm install npm start {{:00.webコンポーネント作成ツールstencil:pasted:20190915-235547.png}} 自動的にブラウザが開いて、以下のように表示されます。 {{:00.webコンポーネント作成ツールstencil:pasted:20190915-235701.png}} 開発サーバを停止するときには、ターミナル画面で、Ctrl+C => y + Enter とします。 {{:00.webコンポーネント作成ツールstencil:pasted:20190915-235740.png}} ===== GitHubにpush ===== 上記で作成したデフォルトのStencilアプリをNetlifyにデプロイするために、GitHubにpushします。 GitHubにログインして、新規リポジトリを作成(stencil-starter-appという名前にしました) {{:00.webコンポーネント作成ツールstencil:pasted:20190916-000015.png}} {{:00.webコンポーネント作成ツールstencil:pasted:20190916-000032.png}} 上記を参考にしながら、ターミナル画面で、以下を入力します。 git init git add . git commit -m "first commit" git remote add origin https://github.com/adash333/stencil-starter-app.git git push -u origin master {{:00.webコンポーネント作成ツールstencil:pasted:20190916-000314.png}} {{:00.webコンポーネント作成ツールstencil:pasted:20190916-000436.png}} この状態で、もう一度、GitHubの該当ページ(今回は、https://github.com/adash333/stencil-starter-app)をリロードすると、以下のようにちゃんとソースコードがアップロードされていることが確認できます。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-000547.png}} ===== Netlifyにdeployデプロイ ===== 上記のGitHub経由でNetlifyにデプロイして公開します。 https://www.netlify.com/ へログインしたのち、画面右上の、"New Site from Git" をクリックします。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001330.png}} {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001354.png}} GitHub をクリック。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001432.png}} 検索欄にstencil-starter-app と入力して、Enterを押し、該当のリポジトリをクリック。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001515.png}} {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001602.png}} Deploy settingsの画面になるので、 -Build commandを、''%%npm run build%%'' -Publish directoryを、''%%www%%'' にして、Deploy site ボタンをクリックします。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001704.png}} {{:00.webコンポーネント作成ツールstencil:pasted:20190916-001948.png}} 1分ほど待つと、以下のような画面になるので、リンクをクリックします。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-002104.png}} 上記により、https://relaxed-euclid-7d8e25.netlify.com/ に公開できました。 {{:00.webコンポーネント作成ツールstencil:pasted:20190916-002201.png}} 次回は、このStencilアプリのファイル構造と中身のコードを見ていきたいと思います。 →[[00.stencil:01.stencilアプリのファイル構造|01.stencilアプリのファイル構造]] ===== 参考リンク ===== https://www.joshmorony.com/building-a-pwa-with-stencil-project-structure-and-syntax/ Building a PWA with Stencil: Project Structure and Syntax BY JOSH MORONY | LAST UPDATED: SEPTEMBER 03, 2019 →非常に参考になります。他のStencilやIonicのチュートリアルもお勧めです。 ===== リンク ===== 目次:このページ 次:[[00.stencil:01.stencilアプリのファイル構造|01.stencilアプリのファイル構造]]