我的编程空间,编程开发者的网络收藏夹
学习永远不晚

laravel-mix如何自动压缩html模板文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

laravel-mix如何自动压缩html模板文件

这篇文章给大家分享的是有关laravel-mix如何自动压缩html模板文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

安装依赖

cd /var/www/html/laravel-projectnpm i -D laravel-mix@^5.x laravel-mix-template-minifier watch shelljs

压缩处理

打开文件webpack.mix.js,并添加以下内容:

mix.minTemplate \= require("laravel-mix-template-minifier");mix.minTemplate("storage/framework/views/\*.php", "storage/framework/views/", { collapseInlineTagWhitespace: true, collapseWhitespace: true, minifyCSS: true, minifyJS: true, processConditionalComments: true, removeAttributeQuotes: false, removeComments: true, removeTagWhitespace: false, trimCustomFragments: false,});
压缩的参数,见html-minifier(https://github.com/kangax/html-minifier?spm=a2c6h.14275010.0.0.70f559611yXtvP)

监听文件变化

在项目根目录新建文件compress.js,写入以下内容:

let shell = require("shelljs");let watch = require("watch");let precessing = false;watch.watchTree("./storage/framework/views", function(f, curr, prev) {  if (!precessing) {    precessing = true;        shell.exec("npm run prod");        setTimeout(() => {      precessing = false;    }, 5000);  }});

开机自启监听命令

以上步骤完成后,在命令行执行node compress.js,即可实现自动监听压损模板文件,可以打开网页看到页面内的<style>以及<script>中的内容已经压缩了。打开storage/framework/views/中的模板文件,发现html已被压缩成一行,如果模板中有包含php代码,则不会去除php中的换行等。
有些页面的js代码不会压缩,暂时没找到什么原因。

由于监听文件命令是常驻命令台的,所以我们要设置开机自启,并且后台启动该命令。

nano /etc/rc.d/rc.local# 添加以下内容cd /var/www/html/ysmj-laravelnohup node compress.js > /var/www/html/laravel-project/compress.out  2>&1 &# 保存文件。然后设置权限使其开机自启chmod +x /etc/rc.d/rc.local

优化

由于laravel自带的package命令npm run prod中带有--progress,长期使用,会导致压缩日志compress.out日益过大。
package.json中,新添加compress命令,去除--progress参数,如下:

"scripts": {    "dev": "npm run development",    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",    "watch-poll": "npm run watch -- --watch-poll",    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",    "compress": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",    "prod": "npm run production",    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"  },

然后compress.js文件需要修改,如下:

let shell = require("shelljs");let watch = require("watch");let precessing = false;watch.watchTree("./storage/framework/views", function(f, curr, prev) {  if (!precessing) {    precessing = true;        shell.exec("npm run compress");        setTimeout(() => {      precessing = false;    }, 5000);  }});

感谢各位的阅读!关于“laravel-mix如何自动压缩html模板文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

laravel-mix如何自动压缩html模板文件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

laravel-mix如何自动压缩html模板文件

这篇文章给大家分享的是有关laravel-mix如何自动压缩html模板文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装依赖cd /var/www/html/laravel-projectnpm i -D
2023-06-07

Win10如何使用自带压缩、解压zip压缩文件功能

Windows系统自带不少工具,到了Win10,好用的功能依然保留,比如压缩/解压zip压缩文件的功能。压缩文件能为系统节省空间,这一功能必不可少。Win10如何使用压缩/解压zip压缩文件功能?Win10压缩zip功能Windows10自
2023-06-10

linux如何允许这个文件能被内核自动压缩/解压

本文介绍了Linux内核提供的ZRAM机制,该机制允许文件在内存中自动压缩和解压,从而在不影响性能的情况下提高系统效率。文章详细讲解了ZRAM的配置、使用和优化方法,还提供了其他压缩/解压选项,如F2FS、e2compr和gzip,以适应不同的系统需求。
linux如何允许这个文件能被内核自动压缩/解压
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录