こんにちわ、ゆきねこです。
最近vue.jsの環境構築を行なっていたので順番をまとめようと思います。
初期設定
まず、プロジェクトのディレクトリを作ってvueとwebpackの設定をします。
mkdir {project_name}
cd {project_name}
// ディレクトリ、ファイルの作成
mkdir dist
touch dist/index.html
mkdir src
mkdir src/components
touch src/index.js
touch src/App.vue
// package.jsonの作成
npm init -y
// vueの設定
npm install --save-dev vue vue-loader vue-router vue-template-compiler
// webpackのツールをインストール
npm install --save-dev webpack webpack-cli webpack-dev-server
// webpackの設定ファイルの作成
touch webpack.config.js
webpackの設定
次にwebpackの設定を行います
webpack.config.jsに以下のコードを書きます。
const path = require('path')
module.exports = {
// モードの設定
// developmemt or production
mode: 'developmemt',
// エントリーポイント
entry: './src/index.js',
output: {
// 出力先フォルダ
path: path.resolve(__dirname, 'dist'),
// 出力先ファイル名
filename: 'main.js'
}
}
エントリーポイントで起点となるファイルを指定します。
そしてプロジェクト直下にdistディレクトリが作成されて、buildされたファイルをmain.jsとして出力するように設定しています。
次にコマンドでbuildできるようにpackage.jsonを書き換えます
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
ここにbuildを加えて以下のようにします
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build":"npx webpack --config ./webpack.config.js"
}
そうすると、以下のコマンドでbuildが使えるようになります
npm run build
Loaderの設定
次にローダを設定します。
ローダーはvueファイルをimportするためのライブラリ?みたいな感じです。
設定方法はwebpack.config.jsにモジュールを追記していきます。
const path = require('path')
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
...
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
}
]
},
plugins: [
new VueLoaderPlugin()
]
}
}
App.vueの設定
vueファイルにはコンポーネントを書いて行きます
App.vueはベースとなる感じでsrc直下に置いてますが、基本的にコンポーネントは./src/components/に置いていきます
<template> <div> <p>テスト</p> </div> </template>
ひとまずこんな感じです
index.jsの設定
import Vue from 'vue';
import App from './App.vue';
Vue.config.productionTip = false;
new Vue({
el:'#app',
components: { App },
template:'</App>',
render:h=>h(App)
})
htmlの設定
distの下のhtmlファイルをいじります。
最初はこんな感じでよろしいかと思います。
<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>テスト</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- js --> <script src="https://unpkg.com/vue@2.5.17"></script> </head> <body> <div id="app"> <div> <script src="./main.js"></script> </body> </html>
vueのソースファイルはheadで読み込みますが、main.jsはidがappのあとに読み込みます。
たしかhtmlは上から読み込んでいきますが、
devサーバの設定
以下のコマンドでサーバをインストールします
npm install --save-dev webpack-dev-server
次にインストールしたサーバをwebpackに登録します
先ほどのwebpack.config.jsファイルに追記します
module.exports = {
output: {
・・・
},
devServer: {
contentBase:'./dist'
}
}
そして、devサーバをnpmのコマンドで動かせるように以下をpackage.jsonに追記します
"start": "webpack-dev-server --open"
以下のコマンドを叩いてlocalhost:8080にアクセスすると画面が開きます。
0件のコメント