Vue+Webpack+なにか

大体のことはAwesome見ればいいというものではなく、
Vue+Webpackをカスタマイズする記事です!

Vue+Webpack+なにか

vue-webpack-boilerplateをとりあえず入れる
Vueコンポーネントが基本になっている
使い方は簡単、vue-cliがしてくれる

$ npm install -g vue-cli
$ vue init webpack my-project
$ cd my-project
$ npm install
$ npm run dev

Hot-Reloadingやエラーの表示など嬉しい

個人的な各種調整

これらは好み

Webpack importのaliasの扱いだけど、
Vueコンポーネントの時ぐらいにしようかなーと思うので

webpack.base.conf.js

-       '@': resolve('src')
+       '@': resolve('src/components')

にする

例えばrouter/index.jsなら

-   import Hello from '@/components/Hello'
+   import Hello from '@/Hello'

のようにかける
楽にかけるというよりか、相対指定することでVSCodeの静的解析が行われるようにしている

.editorconfigはなんとなく

[*.md]
trim_trailing_whitespace = false

を付け足す。

ESLintに関してはStandardが好きなのですが、
癖でダブルクオーテーションで書いたりして、
それをEslintのFixでパチンと一発で直していたのですが、
Vueファイルに対してはできなく、赤線で指摘されるのはかなりストレスなので、
Standardをwarnに変換したものをちょっと改変して使ったりします

実際にはmy-standard.jsonなどとして、extendsで相対指定をしてプロジェクトに合わせて上書きをするといった感じです

.eslintrc.json

{
  "extends": "./my-standard.json"
}

Warningも0にすべきとなってしまうんですけどね…
quotesルールは好きくないのでもう消しますか

というかたんにunusedが知りたいだけみたいなところあるし.eslintrc.jsでWebpackはWarnもオフにするとかの方がいいかな

こういう試行錯誤は数日立つと嫌になってくるからやるか悩みどころ


+ TypeScript

.tsファイルをよみこめるように

オレオレライブラリがTSだったりするので、読み込めるようにしておきたい

ts-loaderをいれます

$ npm i -D ts-loader

build/webpack.base.conf.jsを書き換えます

-extensions: ['.js', '.vue', '.json'],
+extensions: ['.js', '.ts', '.vue', '.json'],

略
以下全てをmodule/rulesに追加

{
  test: /\.ts$/,
  loader: 'ts-loader',
  include: [resolve('src'), resolve('test')]
},
{

最後にtsconfig.jsonをしたためます

{
  "compilerOptions": {
    "module": "commonjs",
    "sourceMap": true,
    "target": "es5"
  },
  "exclude": [
    "node_modules",
    "bower_components"
  ]
}

お好みで。sourcceMap意味あるのかなぁ?
これでJS,Vueからimportできます

lang=”ts”を有効に

正直JSで間に合っているとは思いますが、
vue-ts-loaderを使えばよいかと(そのうちやってみるか?)

+flowtypeも試してみたいけどまずflowtypeを知るところからです


+ SCSS

sass-loaderを入れて、

$ npm i -D node-sass sass-loader

lang=”scss”書くだけ
最近のSCSSのVSCodeでの静的解析が凄すぎると思った。

webpack configの/vue/loadersになにか追加しよう的な記述をよく見ますが、何も変更しなくても動きました


+ Pug

旧Jade
HTMLは閉じタグがめんどいので

$ npm i -D pug pug-loader

あとは<template lang="pug">に変えるだけです
こちらも特にwebpackで設定をするといったことは必要ないです


+ MaterialDesign

大好きです

参考:Qiita:Vue.jsでMDL(material design lite)を使う時の注意

細かいことはまた追って書こうかな


+ Electron

Electron-Vueというボイラープレートがよい
https://github.com/SimulatedGREG/electron-vue


毎回おもうんですが、ボイラープレートってすごいけど、バランスが絶妙すぎて、
危なっかしいなとも思います

一つ一つのファイルが何をしているのかをある程度確認していくことは大事になるかもしれませんね

もうひとつ気になるのが、ボイラープレートに更新があったときどうするんだろうというもので、
さらにそれが結構致命的だった場合、とか


随時更新するかも!

このブログの人気の投稿

YouTube Iridiumの紹介

うくこん

TDPC - T フィボナッチ