Vue CLIのバージョンが4から5にアップデートされたら、vue serveコマンドがnpm run serveへのエイリアスに変更された(以下を参照)。
<Vue CLI 4の簡易ヘルプより抜粋>
Commands:
serve [options] [entry] serve a .js or .vue file in development mode with zero config
build [options] [entry] build a .js or .vue file in production mode with zero config
<Vue CLI 5の簡易ヘルプより抜粋>
Commands:
serve alias of "npm run serve" in the current project
build alias of "npm run build" in the current project
これにより、Vue CLI 4までは使用できたzero configのvue serveコマンドが実質的に削除された。
Vueを学習するためには、zero configの環境は大変有り難いものだったので、非常に残念である。
それなら、バージョンを指定してVue CLI 4を使用しようと考え、本日(2022/08/13現在)Windowsマシンに新規にNode.js 16.16.0をインストールし、以下の手順でVue CLIをインストールしたところ、vue serveコマンドがエラーを発生するようになった。
> npm install -g @vue/cli@4
> npm install -g @vue/cli-service-global@4
> vue serve hoge.vue
...
Error: Cannot find module 'vue-template-compiler'
...
以前(2022/06/25)Raspberry Pi 4にインストールしたVue CLI 4(Node.js 14.17.3, @vue/cli@4.5.13, @vue/cli-service-global@4.5.18)では、現在もvue serveコマンドが正常動作するので、Windows上でも同じバージョンに合わせるようにインストールして見たが、変わらず上記のエラーが発生した。
Linuxマシンでも同様に試したが、結果は同じだった。
Raspberry Pi 4とLinuxマシンでVue CLIのインストール先ディレクトリ以下に存在するファイル/ディレクトリを比較すると、多くの違いがあることが確認されたが、これらの違いを無くすことは困難なので、zero configのvue serveコマンドは諦めることにした。
代替手段
非推奨となっているが、vue initコマンドがまだ使えるので、最小のテンプレートを指定して、限りなくzero configに近い状態にできる。
> npm install -g @vue/cli
> npm install -g @vue/cli-init
> vue init webpack-simple hoge
? Project name hoge
? Project description A Vue.js project
? Author
? License MIT
? Use sass? No
vue-cli · Generated "hoge".
To get started:
cd hoge
npm install
npm run dev
上記の結果、hoge\src\App.vueと言う唯一のVUEファイルが作成されるので、これを上書きするなどで、割りと楽に単一ファイルコンポーネントの学習を始められると思う。
App.vueを別のファイルに差し替える場合は、以下の例に倣ってmain.jsを変更すれば良い。
例)App.vueをhello.vueに差し替える場合
import Vue from 'vue'
// import App from './App.vue'
import hello from './hello.vue'
new Vue({
el: '#app',
// render: h => h(App)
render: h => h(hello)
})
なお、vue initコマンドで指定できるテンプレートは以下に存在する。
あとがき
それにしても、なぜもっと騒ぎにならないのだろうか。
便利と言っている人は存在するものの、あまり使われなかったと言うことなのだろうか。
Vue CLI 5でもzero configな環境についてご存じの方は、お知らせいただけると幸いである。