質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

3081閲覧

Laravel Mixでのextractとrequireの関係について

pafe.aratani

総合スコア21

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

1クリップ

投稿2019/12/26 18:19

前提として各ファイルが以下のようになっているとして、

webpack.mix.js

javascript

1mix.js('resources/js/app.js', 'public/js') 2 .extract([ 3 'jquery', 4 'bootstrap', 5 'axios', 6])

app.js

javascript

1/** 2 * First, we will load all of this project's Javascript utilities and other 3 * dependencies. Then, we will be ready to develop a robust and powerful 4 * application frontend using useful Laravel and JavaScript libraries. 5 */ 6 7require('./bootstrap');

bootstrap.js

javascript

1window._ = require('lodash'); 2 3/** 4 * We'll load jQuery and the Bootstrap jQuery plugin which provides support 5 * for JavaScript based Bootstrap features such as modals and tabs. This 6 * code may be modified to fit the specific needs of your application. 7 */ 8 9try { 10 window.Popper = require('popper.js').default; 11 window.$ = window.jQuery = require('jquery'); 12 13 require('bootstrap'); 14} catch (e) {} 15 16/** 17 * We'll load the axios HTTP library which allows us to easily issue requests 18 * to our Laravel back-end. This library automatically handles sending the 19 * CSRF token as a header based on the value of the "XSRF" token cookie. 20 */ 21 22window.axios = require('axios'); 23 24window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
  • この場合、vendor.jsにextractされたJSがまとめられ、app.js側でもbootstrapなどがrequireされるわけですがこれって意味のあることでしょうか?
  • 意味がないことをやっている場合、どのようなライブラリをextractすべきでしょうか。

結局app.js側でrequireするならextractする必要ないのかなと思うのですが、webpackの仕組みがよくわかっておらず教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

extractされた分はapp.jsからも削除されてるので気にしなくていい。

extract()で指定したものだけをvendor.jsに分けてるのではなくもっと賢い動作してる。

投稿2019/12/27 01:25

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pafe.aratani

2019/12/27 04:14

確かにextractしないとapp.jsにaxiosのソースがありましたが、extractするとapp.jsにはbootstrap.jsの読み込んでいる箇所だけになりました。 extractしたほうがキャッシュが効きやすくなってよさそうです!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問