Laravel6とAjaxで非同期いいね機能を作る方法【超丁寧に解説】
shiro-changelife
シロウブログ「change life」
Laravel8でvue3を使おうとしたら下記のエラーが発生しました。
ERROR in ./resources/js/components/ExampleComponent.vue 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> <template>
| <div>Hello Vue3</div>
| </template>
webpack compiled with 1 error
このエラーの解決方法を今回は紹介します。
「API for JavaScript Frameworks」に書かれているとおり、Laravel mixのバージョン6から仕様が変わったことが原因のようです。
そのため、vueを使いたいならwebpack.mix.js
に下記のように記述しましょう。
//webpack.mix.js
mix.js('resources/js/app.js', 'public/js').vue() //⇦これ
.postCss('resources/css/app.css', 'public/css', [
require('tailwindcss'),
]);
//vueのバージョンが2の場合は下記のように明示的にする
mix.js('resources/js/app.js', 'public/js').vue({ version: 2 });
これで一件落着です。
ちなみにreactの場合は、下記のようにします。
mix.js('resources/js/app.js', 'public/js').react();
おしまい。