Webpackerを利用してVue.jsをインストールしたところ、Hello Vue!
を表示させることができませんでした。
解決法を得るのに時間がかかってしまったので、同じ状況に遭遇した方向けに情報を残しておきます。
結論から言うとインストールされたVueのバージョンが原因でした。
前提
まず、不具合が発生するまでの過程をまとめると下記の流れです。
Vueのインストール
まずは下記のコマンドでWebpackerをインストール
$ rails webpacker:install
次にWebpackerでvueをインストール
$ rails webpacker:install:vue
ルーティングを追加
Rails.application.routes.draw do
get 'home', to: 'home#index'
end
コントローラーを作成
class HomeController < ApplicationController
def index
end
end
viewファイルを作成
<%= javascript_pack_tag 'hello_vue' %>
ここまでを行い、rails s
でサーバーを起動してhttp://localhost:3000/homeにアクセスすると、通常ならHello Vue!
が表示されるはず、、、
ですが今回僕の場合はただのまっしろな画面でした
解決法
原因はrails webpacker:install:vue
でインストールされたVueのバージョンが3系だったことみたいです。
なので、package.json
を編集してvueを2系にバージョンダウンしました。
最初にインストールされていたのが下記
"vue": "^3.2.33",
"vue-loader": "^17.0.0",
"vue-template-compiler": "^2.6.14",
これを下記に変更して
"vue": "^2.6.14",
"vue-loader": "^15.7.0",
"vue-template-compiler": "^2.6.12",
$ yarn install
を実行して再インストールすることで、http://localhost:3000/homeでHello Vue!
が表示されるようになりました。