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

        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號
        主站蜘蛛池模板: 久久这里只有精品视频99| 久久这里只有精品18| 亚洲中文精品久久久久久不卡| 日本精品久久久久中文字幕8 | 国产伦精品一区二区三区女| 野狼第一精品社区| 四虎国产精品永久地址入口| 久久精品二区| 国产免费久久精品99久久| 久久久精品午夜免费不卡| 国产成人精品一区二区秒拍 | 99久久综合国产精品二区| 2022国产精品自产拍在线观看| 无码人妻精品一区二区在线视频| 欧美在线精品永久免费播放 | 亚洲第一精品在线视频| 国产精品久久自在自线观看| 久久精品国产亚洲AV无码麻豆 | 四虎国产精品成人| 久久久久亚洲精品无码网址| 国产一区麻豆剧传媒果冻精品| 亚洲国产精品自在线一区二区| 国产成人亚洲合集青青草原精品 | 久久精品麻豆日日躁夜夜躁| 久久国产精品成人片免费| 爽爽精品dvd蜜桃成熟时电影院| 伊人久久大香线蕉精品不卡| 亚洲а∨天堂久久精品9966| 亚洲人成国产精品无码| 亚洲综合欧美精品一区二区| 尤物TV国产精品看片在线| 亚洲精品99久久久久中文字幕| 亚洲精品第一国产综合精品99| 婷婷国产成人精品一区二| 亚洲精品A在线观看| 亚洲一区爱区精品无码 | 777欧美午夜精品影院| 国产精品三级在线| 久久九九有精品国产23百花影院| 国内精品51视频在线观看| 国产精品一久久香蕉国产线看|