Laravel怎么自定义webpack.mix.js

2022-05-15 0 772

下面由laravel教程栏目给大家介绍Laravel怎么自定义webpack.mix.js,希望对需要的朋友有所帮助!

Laravel自定义webpack.mix.js

我们在使用laravel构建项目时,经常会把后台管理前台放在同一个laravel项目中。

但是当这两个项目都需要用到laravel-mix构建时,我们希望通过运行不同的npm命令区分后台及前台。

考虑混合在一起的情况:

//webpack.mix.jsconst { mix } = require('laravel-mix');    //前台资源打包到 /public/js/index.jsmix.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,资源文件就能自动打包了。

但是当只你想更新前台资源文件时,后台资源文件不得不一起被动更新。

解决方案

在根目录定义两个配置文件

webpack.mix.js //默认已存在webpack.admin.js

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

//webpack.mix.jsconst { 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.jsconst { 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.jsmix.setPublicPath('public-admin');//...

测试时laravel-mix:^0.11.4laravel:5.4.*,若你有更好的解决方案。那你还在….

【推荐:最新的五个Laravel视频教程】

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 Laravel怎么自定义webpack.mix.js https://www.jike1995.com/35988.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务