站長資訊網
        最全最豐富的資訊網站

        Laravel怎么自定義webpack.mix.js

        下面由laravel教程欄目給大家介紹Laravel怎么自定義webpack.mix.js,希望對需要的朋友有所幫助!

        Laravel自定義webpack.mix.js

        我們在使用laravel構建項目時,經常會把后臺管理前臺放在同一個laravel項目中。

        但是當這兩個項目都需要用到laravel-mix構建時,我們希望通過運行不同的npm命令區分后臺及前臺。

        考慮混合在一起的情況:

        //webpack.mix.js  const { mix } = require('laravel-mix');      //前臺資源打包到 /public/js/index.js mix.js('resources/assets/js/app.js', 'js/index.js')     //后臺資源打包到 /public/js/admin/index.js    .js('resources/assets/js/admin/index.js', 'js/admin/');

        webpack.mix.js中,我們把后臺和前臺資源文件寫在同一個配置文件中,這樣你只需運行npm run dev,資源文件就能自動打包了。

        但是當只你想更新前臺資源文件時,后臺資源文件不得不一起被動更新。

        解決方案

        在根目錄定義兩個配置文件

        1. webpack.mix.js //默認已存在
        2. webpack.admin.js

        更新webpack.mix.js使其支持env。

        //webpack.mix.js const { mix } = require('laravel-mix'); const { env } = require('minimist')(process.argv.slice(2));  if (env && env.admin) {     require(`${__dirname}\webpack.admin.js`);     return; }  mix.js('resources/assets/js/app.js', 'js/index.js'); //其他前端資源

        后端資源打包webpack.admin.js配置

        //webpack.admin.js const { mix } = require('laravel-mix');  mix.js('resources/assets/js/admin/index.js', 'js/admin/'); //其他后臺資源配置

        確認已安裝完node依賴,并在根目錄執行

        npm run dev -- --env.admin //打包后端資源 npm run dev                //默認打包前端資源

        若嫌每次都帶參數太麻煩,可更新package.json文件,帶上env參數(最后面)

        "scripts": {     "dev-admin": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js --env.admin" }

        接下來直接運行npm run dev-admin就能打包后端資源。

        注意,

        webpack.mix.jswebpack.admin.js沒有指定不同的mix.setPublicPath(path)時,默認的打包文件都會放到/public目錄下,這樣每次打包都會覆蓋mix-manifest.json的值。

        最好的方法時前臺及后臺指定不同的目錄,

        server {     server_name admin.domain.com;     index index.php;     root /data/your/site/public-admin;     # .... }  server {     server_name domain.com;     root /data/your/site/public;     index index.php;     # .... }

        這樣你只需要在webpack.admin.js指定publicPath就能避免mix-manifest.json被覆蓋的問題。

        //webpack.admin.js mix.setPublicPath('public-admin'); //...

        測試時laravel-mix:^0.11.4laravel:5.4.*,若你有更好的解決方案。那你還在….

        【推薦:最新的五個Laravel視頻教程】

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品国产sm捆绑最大网免费站| 久久精品国产福利国产秒| 国产欧美亚洲精品A| 99久久精品国产毛片| 精品无人码麻豆乱码1区2区| 欧美日韩国产中文精品字幕自在自线 | 久久精品国产99国产精品澳门| 日韩精品区一区二区三VR | 国产精品九九九| 国内精品久久久久影院免费| 亚洲精品国偷自产在线| 麻豆国内精品久久久久久 | 2020久久精品国产免费| 日产精品久久久一区二区| 香蕉99久久国产综合精品宅男自| 国产精品色视频ⅹxxx| 久久精品国产半推半就| 精品视频一区二区三区免费| 国产精品视频色拍拍| 久久99国产综合精品女同| 亚洲精品你懂的在线观看| 亚洲国产主播精品极品网红 | 国产大片91精品免费观看不卡| 亚洲av无码乱码国产精品fc2| 亚洲国产精品一区二区第四页| 精品人妻V?出轨中文字幕| 97精品国产97久久久久久免费| 国内精品免费视频精选在线观看| 高清免费久久午夜精品| 99re6这里有精品热视频| 国语自产精品视频在线区| 麻豆aⅴ精品无码一区二区| 亚洲国产精品高清久久久| 亚洲人成精品久久久久| 亚洲精品无码激情AV| 亚洲国产午夜中文字幕精品黄网站 | 奇米精品视频一区二区三区| 日本VA欧美VA欧美VA精品| 无码国内精品人妻少妇蜜桃视频| 亚洲精品高清国产一线久久| 最新精品露脸国产在线|