webpackを利用しVue.jsのビルド環境を作成する
webpack
を利用し、シンプルなVue.js
ファイルのビルド環境を作成します。ここでは、自分でwebpack
をインストールし実行していきますが、素早く開発環境を作成する場合は、Vue CLI
を利用してください。
※この記事は、過去の記事を最新の環境に合わせて書き直したものです。
環境
- webpack : 5.45.1
- webpack-cli : 4.7.2
- vue.js : 3.1.5
インストール
npm
を使用して、webpack
とvue
をインストールしていきます。
最終的なフォルダ構成は以下のようになります。
1root 2 ┣ node_modules/ 3 ┣ dist/ 4 ┃ ┣ index.js 5 ┃ ┗ index.html 6 ┣ src/ 7 ┃ ┗ index.js 8 ┣ package.json 9 ┗ webpack.config.js
webpackのインストール
npm
を使用してwebpack
とwebpack-cli
をインストールします。
1> npm i -D webpack webpack-cli
空のwebpack.config.js
ファイルを作成します。./src/index.js
をビルドし./dist/index.js
ファイルを作成するためには、以下のように記述します。
webpack.config.js1module.exports = { 2 mode: 'production', 3 entry: './src/index.js', 4 output: { 5 path: __dirname + '/dist', 6 filename: 'index.js', 7 }, 8}
Vue.jsのインストール
npm
を使用してvue
をインストールします。最新のvue
をインストールするために@next
を指定します。
1> npm i -D vue@next
インストールされるvue
は、そのままではランタイム限定ビルドとなり、template
オプションをサポートしていません。そのためtemplate
を使用するためには完全ビルドが必要になるため、webpack.config.js
を編集し、以下の内容を追記します。
webpack.config.js1module.exports = { 2+ resolve: { 3+ alias: { 4+ vue$: 'vue/dist/vue.esm-bundler.js', 5+ } 6+ } 7}
ビルドと実行
webpack
を使用して、vue
をビルドし、実行ファイルを作成していきます。
webpackによるビルド
まず、エントリポイントとなるsrc/index.js
を作成します。テンプレートのmessage
にHello Vue!
と表示するだけの単純なものを作成します。
src/index.js1import { createApp } from 'vue'; 2 3const App = { 4 data() { 5 return { 6 message: 'Hello Vue!', 7 }; 8 }, 9}; 10 11createApp(App).mount('#app');
次に、以下のコマンドを実行しファイルをビルドします。
1> npx webpack
正常にビルドされた場合は dist/
フォルダにindex.js
ファイルが作成されます。
実行
実際にindex.js
を読み込んで実行するためのindex.html
を作成します。
index.html1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Vue Test</title> 6</head> 7<body> 8<div id="app">{{message}}</div> 9<script src="index.js"></script> 10</body> 11</html>
index.html
をブラウザで開き、画面にHello Vue!
と表示されれば成功です。
おわりに
webpack
を利用してvue
をビルドする方法について書きました。
実際に複雑な処理をする場合はVue CLI
を利用した方がいいですが、何をしているかを理解するには少しずつ環境を作成していってもいいのではないでしょうか。