4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Laravel Mix2をLaravel Mix4へアップグレードする

Posted at

はじめに

Laravel Mix 4が正式にリリースされたっぽいのでアップグレードしました。

前提

既存の資源を使ったまま上げる。
つまり、dart-sassとかいうのがデフォルトで使えるようになったらしいけど、
そういうデフォルトなものを変えると、システムのコードルール的な部分が変わってしまうので、
そういうのは既存のまま動かすようにします。

公式通りにやればOKだけど、やったよ!の証跡を残すために書いときます。
https://laravel-mix.com/docs/4.0/upgrade

バージョン

一応以下の組み合わせで作成済のモノがしっかりと動くことを確認しました。

  • Laravel 5.7
  • Vue 2.5
  • vee-validate 2.1.4
  • vue-i18 8.5
  • vuex 3.0
  • bulma 0.7.2
  • buefy 0.7.1

Laravel Mix 4になると何が嬉しいのか

  • Webpack4が使える
  • vue-loader 15が使える
  • Babel 7が使える

つまり、jsのテストがやりやすくなる。
というか、今までwebpack3でのセットアップの仕方が判らなくて投げだしてた

アップグレード方法

Vueコンポーネントの読込み方法変更

  • アップグレード前
Vue.component(
    'example-component', 
    require('./components/ExampleComponent.vue')
);
  • アップグレード後
Vue.component(
    'example-component', 
    require('./components/ExampleComponent.vue').default
);

node-sassを使うようにする

dart-sassがデフォルトで使われるようになっているので、
node-sassに切り替える必要があります。

npm install -s node-sass sass-loader

  • アップグレード前
mix.sass('resources/sass/app.sass', 'public/css');
  • アップグレード後
mix.sass('resources/sass/app.sass', 'public/css', {
    implementation: require('node-sass')
});

おわりに

とりあえず、自分の手元の環境でアップグレードが済んだので、アップグレード報告しました。
前提が異なればやり方も変わるとは思いますが、
Laravelの環境でも簡単にwebpack4が使えるようになったのはとても有難いです。

とりあえず速攻でjsのテストコードを書ける環境を作ろうと思います。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?