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

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號
久久综合九色综合精品| 日韩不卡中文字幕| 久久精品国产男包| 久久国产精品国产精品| 日韩人妻无码精品专区| 国产精品成人啪精品视频免费| 日韩一级二级三级| 午夜国产精品久久久久| 日韩精品一区二区三区国语自制| 国内精品-bt天堂| 国产日韩精品在线| 久久AV无码精品人妻糸列| 91精品国产亚洲爽啪在线影院| 老色鬼在线精品视频| 精品永久久福利一区二区| 久久99久久精品视频| 国产精品对白交换视频| 国内午夜国产精品小视频| 国内精品久久久久久麻豆| 香蕉精品视频在线观看| 久久精品国产一区二区三区不卡| 国产精品亚洲精品日韩已方| 亚洲A∨精品一区二区三区| 女人高潮内射99精品| 亚洲AV无码乱码精品国产| 日韩精品无码免费视频| 午夜精品久久久久9999高清| 亚洲无码精品浪潮| 精品国精品国产自在久国产应用男| 国产精品视频全国免费观看| 一本色道久久综合亚洲精品高清| 国产线视频精品免费观看视频 | 亚洲Av永久无码精品三区在线| 国内精品久久久人妻中文字幕| 亚洲精品色午夜无码专区日韩| 国产小视频国产精品| 久久国产精品久久久| 久久无码专区国产精品s| 无码精品一区二区三区免费视频| 99久久精品全部| 2021最新国产成人精品视频|