Windows10(WSL使用)でVue.jsアプリを作成するまでの手順
はじめに
Windows10のWSL(Windows Subsystem Linux)上でVue.jsアプリを構築して立ち上げるところまでの手順をメモします。
できるようになること
以下のように、Vue.jsのデフォルト状態のアプリを作成して、ブラウザからアクセスして表示させます。
前提と環境
以降の作業は、Windows10のWSL(Windows Subsystem for Linux)のUbuntu上で行いました。
- Windows10 + WSL + Ubuntu
- Node.js(ver 10.3.0)、npm(ver 6.1.0)はインストール済 UbuntuにNode.jsをインストールする手順はnvmを使ってNode.jsをUbuntuにインストールする手順を見てみてください。(npmも一緒にインストールされます。)
Vue CLIをインストールする
Vue.jsアプリを作成するにあたって、手っ取り早くかつ便利に開発を進めるためにVue CLIというツールを先にインストールします。コマンドプロンプトやPowerShellからWSL上のUbuntuにログインし、Ubuntu内で適当なフォルダに移動して以下のコマンドを実行します。なお、Vue CLIのインストールには、Node.jsのバージョンが8.9以上である必要があります。また、以降はすべてWSLのUbuntu上での作業になりますが、MacOSやLinux、仮想マシン上など他の環境でも同じ作業になると思います。
$ npm install -g @vue/cli
/home/users/.nvm/versions/node/v8.11.4/bin/vue -> /home/users/.nvm/versions/node/v8.11.4/lib/node_modules/@vue/cli/bin/vue.js
> protobufjs@6.8.8 postinstall /home/users/.nvm/versions/node/v8.11.4/lib/node_modules/@vue/cli/node_modules/protobufjs
> node scripts/postinstall
> nodemon@1.18.4 postinstall /home/users/.nvm/versions/node/v8.11.4/lib/node_modules/@vue/cli/node_modules/nodemon
> node bin/postinstall || exit 0
Love nodemon? You can now support the project via the open collective:
> https://opencollective.com/nodemon/donate
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/@vue/cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ @vue/cli@3.0.5
added 632 packages from 446 contributors in 27.319s
以下のようにバージョンを確認することができます。2018年10月時点では、バージョン3系が最新になります。
$ vue --version
3.0.5
なお、以下のようにvue-cli
というパッケージ名でもインストールすることができますが、これは古いバージョンである2.9.6
がインストールされ、deprecated
(廃止予定)となっています。これについては公式サイトにおいてもアナウンスされています。
$ npm install -g vue-cli
npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
/home/vagrant/.nvm/versions/node/v8.11.4/bin/vue -> /home/vagrant/.nvm/versions/node/v8.11.4/lib/node_modules/vue-cli/bin/vue
/home/vagrant/.nvm/versions/node/v8.11.4/bin/vue-init -> /home/vagrant/.nvm/versions/node/v8.11.4/lib/node_modules/vue-cli/bin/vue-init
/home/vagrant/.nvm/versions/node/v8.11.4/bin/vue-list -> /home/vagrant/.nvm/versions/node/v8.11.4/lib/node_modules/vue-cli/bin/vue-list
+ vue-cli@2.9.6
added 237 packages from 205 contributors in 9.706s
もし間違ったバージョンをインストールした場合は、以下のようにアンインストールすることができます。
$ npm uninstall -g vue-cli
removed 237 packages in 2.415s
npmコマンドについては以下が参考になりました。 npmコマンドの使い方- Qiita
関連パッケージのインストール
さらに、今後vue serve
やvue build
のような、便利なコマンドを使えるようにするために必要なcli-service-global
というパッケージもインストールしておきます。
npm install -g @vue/cli-service-global
$ npm install -g @vue/cli-service-global
npm WARN deprecated bfj-node4@5.3.1: Switch to the `bfj` package for fixes and new features!
> yorkie@2.0.0 install /home/users/.nvm/versions/node/v8.11.4/lib/node_modules/@vue/cli-service-global/node_modules/yorkie
> node bin/install.js
setting up Git hooks
trying to install from sub 'node_module' directory, skipping Git hooks installation
npm WARN babel-loader@8.0.4 requires a peer of @babel/core@^7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/@vue/cli-service-global/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ @vue/cli-service-global@3.0.5
added 1279 packages from 742 contributors in 52.178s
以上でVue.jsアプリ作成に必要な準備は完了です。次に実際にVue CLIを利用してVue.jsアプリを作成していきます。
Vue CLIでプロジェクトを作成する
以下のVue CLIのcreate
コマンドを使って対話形式で設定を行いながらVue.jsアプリを構築していきます。ここでは作成するアプリの名前をfirstapp
としています。このアプリ名と同じフォルダ名が現在のフォルダ直下に作成され、その中に必要なファイルが用意されていきます。
$ vue create firstapp
create
コマンドを実行すると、まずはじめにあらかじめ用意された設定を使う(default(babel, eslint)
)か、設定項目を1つづつ選択していく(Manually select features
)かを選択します。ここでは、後者のManually select features
で進めて行きます。なお、Manually select features
の設定内容は、次回でも同様の設定をすぐに行えるように最後に任意の名前で保存しておくことができます。
Vue CLI v3.1.1
? Please pick a preset:
default (babel, eslint)
❯ Manually select features
最初の設定項目は、作成するVue.jsアプリの機能についてです。以下のように、必要な機能を選択して進めます。矢印キーで必要な機能にカーソルをあわせてスペースキーで選択できます。複数選択可能です。選択したらEnterキーで次に進みます。以下ではBabel
、Router
、CSS Pre-processors
を選択しています。これらの選択肢についての説明は省略します。
Vue CLI v3.1.1
? Please pick a preset: Manually select features
? Check the features needed for your project: ◉ Babel
◯ TypeScript
◯ Progressive Web App (PWA) Support
◉ Router
◯ Vuex
❯◉ CSS Pre-processors
◉ Linter / Formatter
◯ Unit Testing
◯ E2E Testing
上記でRouter
を選択した場合は、Vue Routerのhisotry
モードを使用するか確認されます。
? Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n)y
history
モードについての説明はここでは省略します。以下が公式サイトの説明になります。
次はCss pre-processor
の設定です。
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
❯ Sass/SCSS
Less
Stylus
Linterの設定です。Linterとは、構文チェックを自動で行ってミスや推奨の書き方などを提示してくれるツールです。そこにスペースは入れるべきではないなども指摘してくれます。どこまで指摘するか、どういうルールに則って指摘するかは色々とあるためここで好みのLinterを選択します。
? Pick a linter / formatter config: (Use arrow keys)
❯ ESLint with error prevention only
ESLint + Airbnb config
ESLint + Standard config
ESLint + Prettier
Linterの実行タイミングの指定です。ファイル保存時かコミットした時かの選択です。
? Pick additional lint features: (Press <space> to select, <a> to toggle all, <i> to invert selection)
❯◉ Lint on save
◯ Lint and fix on commit
Babelなどの設定ファイルをどこに保存するかの設定です。ここでは、package.json
に保存します。
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? (Use arrow keys)
In dedicated config files
❯ In package.json
これまでに行った設定を次回使えるよう保存しておくのかの確認です。
? Save this as a preset for future projects? (y/N)
y
を選択した場合は、任意の名前をつけてEnterします。次回create
コマンドを使用した時に選択できるようになります。
? Save preset as: ~/test
また、環境にもよりますが、以下のような確認がでる場合があります。これは、「オリジナルのnpmリポジトリだとダウンロードに時間かかりそうなので、より早いリポジトリからダウンロードするか?」という質問になります。なお、より早いリポジトリというのは、以下のURLを見て分かるようにリポジトリの場所がtaobao.org
となっています。taobao.com
は中国のAlibaba系列のWebショッピング会社のようですが、taobao.org
も同じ会社の管理下なのかについては未確認です。特に急ぎでもなければNoで拒否してオリジナルのリポジトリを使用してもOKと思います。
? Your connection to the default npm registry seems to be slow.
Use https://registry.npm.taobao.org for faster installation? (Y/n)Y
完了すると、以下のようにVue.jsのプロジェクトの作成がはじまります。数分ほどかかります。
Vue CLI v3.1.1
✨ Creating project in /mnt/c/Users/albion/OneDrive/workspace/vueProject/firstapp.
🗃 Initializing git repository...
⚙ Installing CLI plugins. This might take a while...
[ .................] - fetchMetadata: sill pacote range manifest for read-pkg@^4.0
作成が完了すると、最終的に以下のようにターミナルに表示されます。
🎉 Successfully created project firstapp.
👉 Get started with the following commands:
$ cd firstapp
$ npm run serve
WARN Skipped git commit due to missing username and email in git config.
You will need to perform the initial commit yourself.
上記に指示が書いてある通り、以下のコマンドを実行します。
$ cd firstapp
$ npm run serve
npm run serve
がVue.jsアプリの起動コマンドになり、まずはVue.jsアプリをビルドして起動します。実行すると、以下のように表示されます。あとは実際にブラウザからアクセスしてみます。
DONE Compiled successfully in 5477ms 10:59:45 PM
App running at:
- Local: http://localhost:8080/
- Network: http://192.168.56.1:8080/
Note that the development build is not optimized.
To create a production build, run npm run build.
あとはhttp://localhost:8080/
でブラウザからアクセスできます。もし仮想マシン上でVue.jsアプリを作成して起動した場合は、localhost
ではアクセスできないため、仮想マシンのIPアドレスでアクセスします。アクセスすると以下のような画面が表示されると思います。これでVue.jsアプリの作成が完了です。
関連記事
- 公開日:2019/09/11 更新日:2019/09/11
Nuxt.jsで使っているBuefyのスタイルをカスタマイズする
Nuxt.jsでBuefyを使っており、部分的にスタイルをカスタマイズしたい場面がありました。この記事では、Nuxt.jsで使っているBuefyのスタイルをカスタマイズする方法をまとめます。
- 公開日:2019/06/15 更新日:2019/06/15
Electron + Vue.js アプリでSQLite3を使う手順
Electron + Vue.jsで構築したデスクトップアプリでSQLite3を使うための手順をまとめます。
- 公開日:2019/06/13 更新日:2019/06/13
Electron + Vue.jsで画面をPDF化する手順
Electron + Vue.jsで構築したデスクトップアプリで画面をPDF化するための手順をまとめます。
- 公開日:2018/11/30 更新日:2018/11/30
Vue.jsアプリをNow(zeit.co)にデプロイするまでの手順と使い方
Nowは非常にシンプルなPaaSです。他のPaaSと比較しても必要な設定やデプロイまでの作業が非常に簡単になっています。この記事では、ローカルにあるVue.jsアプリをNow上にデプロイし、実際にブラウザからアクセスしてみるところまでの手順をメモします。
- 公開日:2018/11/27 更新日:2018/11/27
Vue.jsからFirestoreを使うための準備とFirestoreへのデータ書き込み手順
FirebaseのCloud Firestore(以降、Firestore)とVue.jsを組み合わせると、データ書き込みや読み込みが非常に簡単に実行できます。ここでは、Vue.jsで簡素なフォームを作成し、そのフォームからFirestoreにデータを書き込むところまでをメモします。