Vue CLI 3 の使用を前提。下記のコマンででプロジェクトを作成

vue create <Project Name>

build時の設定

npm run build

を実行してサーバーにdistディレクトリをアップする際、 - vue.config.js

をルート直下に配置し build時にページ遷移が正しく行われるように publicPath の設定を行う。
Configuration Reference | Vue CLI

module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/production-sub-path/'
    : '/'
}

下記については注意。 >Limitations of relative publicPath
Relative publicPath has some limitations and should be avoided when:
You are using HTML5 history.pushState routing;
You are using the pages option to build a multi-paged app.

うまくルーティングがされないようであれば、.htaccess も配置。今回はなくても動いた。
HTML5 History モード | Vue Router

ESLint周り

Configuring ESLint - ESLint - Pluggable JavaScript linter
eslint-plugin-vue - npm

ミューテーション・タイプに定数を使用する

ミューテーション・タイプに定数を使用する
> いろいろな Flux 実装において、ミューテーション・タイプに定数を使用することが共通して見られるパターンです。これはコードに対してリントツールのようなツールを利用できるという利点があり、また単一ファイルに全ての定数を設定することによって、共同で作業する人に、アプリケーション全体で何のミューテーションが可能であるかを一目見ただけで理解できるようにします:

解説通りに mutations.jsmutation-types,js の二つを作成しmutation名を定数化したが、
> リントツールのようなツールを利用できるという利点があり

この点に関しては理解できていない。

定数を使用するかどうかは好みの問題です。多くの開発者による大規模なプロジェクトで役に立ちますが、完全にオプションなので、もしお気に召さなければ使用しなくても構いません。 Vuex mutationでstateの値を変更する

ルート定義

以下の2つのファイルを用意する - src/router/index.js ルート定義のベース実装 - src/router/routes.js index.js の拡張

main.tsにて下記の形でimportする

import router from './router';

単体テスト設定

Vue Test Utils

というものがある。
> vue-test-utilsは Vue.js 向けの公式単体テストライブラリです。

それを使用した上で、テストランナを選択する

テストランナは、テストを実行するプログラムです。 多くの一般的な JavaScript テストランナがあり、vue-test-utils はそれらすべてで動作します。テストランナにとらわれません。
以下の 2 つのテストランナをお勧めします:
- Jest
- mocha-webpack

vue-test-utils | Vue Test Utils
テストランナを選ぶ | Vue Test Utils
Jest · 🃏 Delightful JavaScript Testing
Mocha - the fun, simple, flexible JavaScript test framework
Chai (ついでに)

Vue CLI 3.3.0 にてプロジェクトを新規作成の際は、TypeScriptプロジェクトを選択した場合には package.jsonts-jest がインストールされる。
そのため、*.spec.js ファイルの拡張子は .spec.js ではなく .spec.ts として作成する必要がある。