概要
現在、TypeScriptとwebpackを使ったフロントエンドの環境で開発をしているのですが、そこにVue.jsを導入してみたので、その方法を紹介します。
Vue.jsのインストール
Vue.jsは、npmのパッケージからインストールします。
npm install --save-dev vue
TypeScriptと型定義のインストール
TypeScriptも、Vue.jsと同じようにnpmのパッケージからインストールします。
npm install --save-dev typescript
さらに、TypeScriptでVue.jsを使うには、Vue.js用の型定義を用意する必要があります。
型定義は、嬉しいことに公式で配布されているので、それをnpmパッケージからインストールします。
npm install --save-dev @types/vue
webpackのインストール
webpackも、他のものと同じようにnpmのパッケージからインストールします。
npm install --save-dev webpack
TypeScriptの設定
Vue.js用にTypeScriptの設定ファイルtsconfig.jsonを用意します。
{
"compilerOptions": {
"target": "es5",
"module": "es6",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"lib": [
"dom",
"es5",
"es2015.promise"
]
},
}
Vue.js用に加えた部分はこの部分です。
{
"compilerOptions": {
"module": "es6",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"lib": [
"dom",
"es5",
"es2015.promise"
]
},
}
ほとんどVue.js用の設定です。
webpackの設定
webpackの設定は、Vue.js用に変える部分はありませんが、変えない場合、運用環境などで使う場合にVue.jsの警告が表示されてしまいます。
なので、運用環境などで使用するときには、下記の設定を追加してwebpackを実行する必要があります。
var webpack = require('webpack');
module.exports = {
// 省略
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
})
]
}
Vue.jsは、webpackの実行時に環境変数として、NODE_ENVにproductionという文字列を渡すと、警告の表示などのデバッグ用のコードを含めないようになります。
このようにpluginで、環境変数NODE_ENVの設定をしています。
使い方
これらの設定が終わったら、TypeScriptのコードでVue.jsを使う環境が整いました。
実際のTypeScriptのコードでVue.jsを読み込むにはimportを使ってこのようにします。
import Vue from 'vue'
後は、普段通りVue.jsを使いましょう。
まとめ
やり方さえ分かってしまえば、設定はとても簡単です。
しかし、ただ設定しただけではVue.jsの警告が表示されてしまうので、運用環境で使うコードの作成時にはNODE_ENVの設定を忘れないようにしましょう。