自动化构建工具-gulp学习

ADS中使用Momentum进行电源完整性分析示例 这个应用可以帮助工程师用更快的时间使用ADS Momentum完成PDN分析。该应用描述了利用ADS Momentum RF模拟器进行PDN分析的方法,大大缩短了计算时间。 该分析主要应用与高速数字设计。 在此应用中使用了以下ADS特性: ADS设计流程集成(ADFI)。 电磁协同仿真。 Momentum仿真。 仿真流程如下: 在Allegro中创建ADFI文件 要将Alleg... 阅读详情

1.gulp安装

 全局安装gulp:执行gulp任务

本地安装gulp是为了调用gulp插件的功能进入项目文件路径中执行 

//全局安装
npm install gulp@3.9.1 -g

//本地安装
npm install gulp@3.9.1

//全局及本地都需要进行安装

//安装后检测
gulp -v

2.生成package.json管理gulp依赖

//npm进行初始化,生成package.json
npm init -y

  再在根目录下创建gulpfile.js文件,用于配置gulp任务,并引入gulp:

//gulpfile.js

// gulp定制任务 =>执行任务
const gulp = require('gulp');

  

3.gulp任务处理

  • 通过 gulp.task 注册一个任务
  • 通过 gulp.src 读取文件
  • 通过 gulp.dest 写入文件
  • 通过 gulp.watch 监听文件变化
  • 通过 gulp.run 执行任务 

1.输出html和css文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./css/style.css">
    <link rel="stylesheet" href="./css/styleLess.css">
</head>
<body>
    <h1 id="btn1">gulp test</h1>
    <h1 id="btn2">gulp index2</h1>
    <h1 id="btn3">使用es6 uglify不兼容</h1>
    <ul>
        <li>a</li>
        <li>b</li>
        <li>c</li>
    </ul>
</body>
</html>
//gulpfile.js

// gulp.task('任务名'.callback);
// 输出html: 执行gulp execHtml
gulp.task('execHtml',() => {
    gulp.src('./src/index.html')  //读取该目录下的index.html文件
    .pipe(gulp.dest('test'))  //输出到test目录
    .pipe(gulp.dest('dist')); //并输出到dist目录
});


// 输出css
gulp.task('execCss',() => {
    gulp.src('./src/css/*.css')
    .pipe(gulp.dest('test/css'))
    .pipe(gulp.dest('dist/css'));
});


//执行上述两个任务
gulp execCss
gulp execHtml

2.处理less并压缩css文件

//先手动引入未处理的less文件
<link rel="stylesheet" href="./css/styleLess.css">

安装依赖

//less转css
npm install --save-dev  gulp-less@3.5.0

//css压缩
npm install --save-dev gulp-cssmin@0.2.0
//gulpfile.js

const less = require('gulp-less'); //less转css
const cssmin = require('gulp-cssmin');//css压缩

// 将less输出为css
gulp.task('execLess',() => {
    gulp.src('./src/css/*.less')
    // 输出之前用less()将less文件转css文件
    .pipe(less())
    // 读取和压缩css文件
    .pipe(cssmin())
    .pipe(gulp.dest('test/css'))
    .pipe(gulp.dest('dist/css'))
});

3.处理js合并压缩兼容

安装依赖:

//js合并
npm install --save-dev gulp-concat@2.6.1

//js压缩
npm install --save-dev gulp-uglify@3.0.1

//安装babel相关插件
npm install --save-dev gulp-babel@7.0.0 babel-preset-es2015 babel-core
//index1.js
btn1.onclick = function(){
    alert('测试 gulp index1.js执行');
}


//index2.js
btn2.onclick = function(){
    alert('测试 gulp index2.js执行');
}


//index3.js
//使用es6
let btn3 = document.getElementById('btn3');
btn3.onclick = () => {
    alert('测试 gulp index3.js执行');
}
//引入合并压缩的文件到index.html
//先定义好
<script src="./js/main.js"></script>
//gulpfile.js 

const concat = require('gulp-concat');//js合并
const uglify = require('gulp-uglify');//js压缩
const babel = require('gulp-babel');//es6转es5

// 输出js,合并并压缩
gulp.task('execJs',() => {
    gulp.src('./src/js/*.js')
    .pipe(concat('main.js'))//合并
    .pipe(babel({ presets: ['es2015'] }))//转es5
    .pipe(uglify())//压缩
    .pipe(gulp.dest('test/js'))
    .pipe(gulp.dest('dist/js'));
});

4.压缩图片

 安装依赖:

npm install --save-dev gulp-imagemin@4.1.0

//尽量使用cnpm进行安装
cnpm install --save-dev gulp-imagemin@4.1.0
//gulpfile.js

const imagemin = require('gulp-imagemin');//图片压缩

// 压缩图片
gulp.task('execImg',() => {
    gulp.src('./src/images/*')
    .pipe(imagemin())
    .pipe(gulp.dest('test/images'))
    .pipe(gulp.dest('dist/images'))
});

//压缩效果不明显

 5.创建node服务使之热更新

npm install --save-dev gulp-connect@5.6.1
//gulpfile.js

const connect = require('gulp-connect');//创建一个node服务

gulp.task('execServer',() => {
    //connect.server();
    connect.server({
        root: ['dist'],//服务器管理/运行哪个目录(默认是项目的根目录)
        livereload: true,//是否热更新
        port:3000 //指定web服务的端口号(默认是8080)
    });

   /*  gulp监视文件,并且可以在文件发生改动时做一些事情.
    *  参数一:监视的文件
    *  参数二: 在文件变动后执行的一个task任务
    * */
    gulp.watch('src/css/*.less',['execLess']);
});

//gulp execServer  开启服务

此处为监听less文件的更新,需要给less任务添加reload:

// 将less输出为css
gulp.task('execLess',() => {
    gulp.src('./src/css/*.less')
    // 输出之前用less()将less文件转css文件
    .pipe(less())
    // 读取和压缩css文件
    .pipe(cssmin())
    .pipe(gulp.dest('test/css'))
    .pipe(gulp.dest('dist/css'))
    .pipe(connect.reload()) //当内容发生改变时,重新加载
});

6.一次性执行任务

// 定制总任务  一次性执行所有任务
//执行命令:gulp all
//gulp.task('all',['execLess','execCss','execHtml']);


// 默认执行:gulp
gulp.task('default',[
    'execLess',
    'execCss',
    'execJs',
    'execImg',
    'execHtml',
    'execServer'
]);

4.gulp版本问题注意

gulp虽然灵活小巧,但是版本及其插件问题频繁,安装困难

当前使用gulp3.x多一些,但其与node高版本不能兼容,node11以上应该不能用。

如下图:

gulp3.x与node版本不兼容时会出现该问题

我原本想不通过降级node来使之兼容,百度到一个解决方法: 

降低gulp版本。处理gulp和node的不兼容问题。利用插件使gulp3和node14兼容_肖肖肖丽珠的博客-优快云博客_node和gulp版本不兼容

解决ReferenceError: primordials is not defined问题 - 灰信网(软件开发博客聚合)

但该方法不能解决部分gulp插件的问题(安装时报上述问题)比如gulp-less的安装 

最后还是要回归到切换node版本(这里为降级node) 来适配gulp3.x,最后我使用nvm(window)切换到11.10.0版本才成功使用gulp3.x。

5.nvm(window)切换node版本

 nvm介绍

安装推荐版本,并切换版本即可

关于混淆

前端自动化构建工具——gulp环境搭建教程 - ShareAndCreate - 博客园

gulp插件 gulp-obfuscate js代码混淆后,不能用了,谁能告诉我混淆后有什么用? - 知乎

热力学仿真软件:Fluent_(8).材料属性设置 在 Fluent 中,材料属性主要包括密度、比热容、导热系数、黏度等物理性质。这些属性在不同的仿真场景中有着不同的作用,例如在流体仿真中,密度和黏度是必不可少的;在传热仿真中,导热系数和比热容是主要考虑的因素。如果所需的材料不在材料库中,或者需要对现有材料进行修改,用户可以自定义材料属性。在主菜单中选择Materials。点击打开材料编辑器。在材料编辑器中,点击Create按钮,输入新的材料名称。选择材料类型(如FluidSolid等)。在属性栏中填写所需的材料属性。 阅读详情

相关推荐

Ubuntu20.04下Docker无缝升级实战指南

本文提供了一份在Ubuntu20.04系统上安全、无缝升级Docker的实战指南。文章详细阐述了升级前的版本检查、数据备份等准备工作,逐步演示了通过APT包管理器进行升级或指定版本安装的操作步骤,并强调了升级后的验证与常见问题回滚方案,确保业务容器平稳过渡。

postgres8guard的博客 481

推荐使用:gulp-exec - 精心打造的Gulp执行命令插件

推荐使用:gulp-exec - 精心打造的Gulp执行命令插件 1. 项目介绍 在开发过程中,我们经常需要在构建流程中执行一些系统级别的命令。gulp-exec 是一个专为 Gulp 设计的强大插件,它允许你在你的 Gulp 构建脚本中方便地运行和管理 Shell 命令。利用这个工具,你可以更加灵活地对文件操作进行自动化处理,提升工作效率。 2. 项目技术分析 gulp-exec 使用了 Nod...

gitblog_00096的博客 481

VBA解决Excel批处理任务之:批量修改Sheet名称

针对需要批量处理大量的Sheet改名的场景,使用VBA是非常便捷的方式。 简单介绍几种方法: 1. 录制宏法: 录制宏是用Excel自带的工具把改名改成一个可以复制操作的动作。 这里选择录制,会弹出一个宏设置窗口: 这里设置好宏名称就好,然后确定就可以开始录制你的操作。操作完成之后,再进入到宏窗口点击结束录制: 这样就可以通过执行来运行了,运行方法: 1. 通过选择宏: ...

跬步至千里 1万+

gulp-exec插件使用手册

gulp-exec插件使用手册 项目目录结构及介绍 gulp-exec是一个专注于Gulp环境下的命令执行插件,其仓库位于GitHub。虽然直接的目录结构细节未在问题中提供,但通常开源的Gulp插件会有以下基本结构: src: 这个目录一般存放插件的核心源码。 test: 包含测试用例,确保插件功能正确无误。 README.md: 重要文档,包含了安装方法、快速入门、配置选项等。 package...

gitblog_00378的博客 360

HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:安全测试

通过对HarmonyOS应用生命周期建模和应用攻击面建模,采用静态数据流分析技术,提高漏洞发现的准确率,同时覆盖20余种攻击面,65+漏洞测试项,帮助开发者提前发现和识别漏洞隐患。在检测报告中,会针对每一项漏洞风险项给出明确的修复建议,可以帮助开发者快速修复漏洞。

斌擎科技 1182

TBOX电源方案的详细讲解与分析

输入保护电路是确保车载电子系统稳定性的关键。通过合理选择TVS二极管、保险丝和浪涌抑制器等元器件,能够有效防止来自电源系统的瞬态过电压、浪涌和过流问题,保护后续电路免受损害。针对不同的电源环境和应用场景,可以通过提升功率、优化热管理以及选择高效元器件来进一步提高系统的保护能力和可靠性。

weixin_43199439的博客 1076

gulp-exec:Gulp的执行插件

gulp-exec:Gulp的执行插件 gulp-exec 是一个为Gulp任务流设计的执行插件,主要使用JavaScript编写。它允许用户在Gulp流程中执行命令行指令,从而扩展Gulp的自动化能力。 1. 项目基础介绍 gulp-exec 是一个开源项目,托管在GitHub上。该项目由robrich维护,采用MIT协议授权。它可以通过Gulp来运行任何命令行工具,并将这些工具的输出集成到Gu...

gitblog_01037的博客 462

2022年华为ICT大赛 全球总决赛!中文综合任务书-网络赛道真题!

2022年华为ICT大赛 全球总决赛!综合任务书-网络赛道真题-中文翻译版

君逍遥o 2405

gulp-exec 使用教程

gulp-exec 使用教程 1、项目介绍 gulp-exec 是一个专为 Gulp 设计的强大插件,它允许你在你的 Gulp 构建脚本中方便地运行和管理 Shell 命令。利用这个工具,你可以更加灵活地对文件操作进行自动化处理,提升工作效率。 2、项目快速启动 安装 首先,你需要安装 gulp-exec: npm install --save-dev gulp-exec 基本使用 在你的 gu...

gitblog_00110的博客 500

YOLOv11改进策略【Neck】| SEAM:分离和增强注意模块,解决复杂场景下的小目标遮挡问题

本文记录的是利用 SEAM 模块优化 YOLOv11 的目标检测网络模型。的设计出发点在于解决复杂场景下的人脸遮挡问题,相当于是小目标被其他物体部分遮挡时,传统方法因特征缺失导致检测精度下降的问题。该模块通过增强未遮挡区域的特征响应并补偿被遮挡区域的信息损失,提升模型对遮挡小目标的检测能力。YOLO-FaceV2: A Scale and Occlusion Aware Face DetectorSEAM模块(Separated and Enhancement Attention Module)的设计出发点

Limiiiing的博客 2281

Zephyr内核——内存管理——内存堆

Zephyr提供了一组允许线程动态分配内存。

wayne2018的博客-心情驿站 773

Gulp安装以及使用

less文件与css文件会被获取然后转换最后被压缩成csso文件,并将文件抽取到dist目录下,这一步我们就完成了,这就是gulp最基本的安装和使用方法。输入 npm i gulp@3.9.1 -g 来进行gulp的安装,这里就用3.9.1版本来进行测试。然后创建gulpfile.js文件 用npm方法安装gulp需要的环境插件,在js目录下引用该插件。然后在gulpfile.js文件中引用插件gulp-file-include。在文件终端安装gulp-file-include插件。

wy021019的博客 541

深入解析Linux驱动开发中的I2C时序及I2C高频面试题

在 I2C 通信中,主设备和从设备的角色有着明确的定义。主设备是发起通信的设备,它负责控制整个通信过程。主设备可以是微控制器、处理器等具有控制能力的设备。

大模型大数据攻城狮的专栏 2766

自动化构建工具gulp的学习心得

个人理解Gulp是一个构建工具,它的来源是从后端演变而来:buid code -&gt;构建代码 -&gt;构建工具-&gt;计算机能识别的语言从而前端也开始有这个概念:buid code -&gt;js *css *jpg(静态资源文件)-&gt;合并 -&gt;压缩 当然自动化构建工具不止gulp:列举:1,grunt2,gulp3,webpack等等...,话说回来还有些公司依旧用gulp进...

liuyingv8的博客 188

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

gulp自动化构建工具学习笔记

一、gulp的5个核心方法: gulp.task('任务名',function(){});//创建任务 gulp.src('./*.css');//指定想要处理的文件 gulp.dest();//指定最终处理后文件存放的路径 gulp.watch();//自动监事文件的变化,然后执行相应的任务 gulp.run('任务名');//直接执行相应的任务 二、gulp的使用: 1. gulp...

我是晓说前端,一个正在进阶的前端开发。这里记录我在实际项目中踩过的坑和填过的缝——写下来是为了记住,分享出来是希望能帮到同样遇到问题的人。 255

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

学习前端自动化构建工具Gulp

Gulp是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且能帮我们完成前端开发过程中的很多重复的任务,使用它,可以大大提高我们的开发效率。 gulp是基于NodeJs的自动任务运行器,她能自动化的完成JavaScript、coffee、sass、less、html/img、...

weixin_33989058的博客 185

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

gulp前端自动化构建工具学习笔记(mac)

gulp是一个前端自动化构建工具,简单方便,学习起来也很方便。gulp是基于node.js的,所以首先要在电脑上安装node.js. 1:安装node.js   npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等); 2:安装cnpm; 说明:因为npm安装插件是从国外服务器下载,受网络影响大,可能出现...

231

gulp自动化构建工具学习分享

Gulp与Grunt差不多,也是一款构建工具,它能够自动执行我们前端常见的任务,如编译Sass、Less,压缩js和刷新浏览器等等,以此来改进前端的工作方式,提高生产力. 使用需用 安装Node.js 由于Gulp是基于Node.js构建的, 所以在使用Gulp之前,首先安装Node.js(自行搜索node.js安装), 安装Node.js方式非常简单,下载后运行安装包,一...

weixin_34143774的博客 107

gulp--自动化构建工具学习笔记

gulp–基于流的自动化构建工具,可以很方便的压缩JS,CSS文件,压缩image图片,从而提高我们的网站访问性能,同时也能够实现js或css文件的合并。下面是它官网给的优势:     1.易于使用     通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。     2.构建快速     利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。

yihuoZhou的博客 444

在拉钩学习的笔记(二十三)gulp自动化构建工具

1、自动化构建工具 Gulp Grount Gulp FIS Gulp 与 npm script: 都能够实现自动化构建; 但 Gulp 语法简单, Gulp 语法就是 Javascript 语法,npm script 语法接近 shell 脚本; Gulp 生态完善,构建效率高 步骤: 1、全局安装 gulp 客户端(npm install -g gulp-cli) 2、初始化项目(npm init --yes) 3、安装 gulp 包(npm install ...

Yao_Huang_的博客 479

前端自动化构建工具 gulp 学习笔记 一、

一、我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并、压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表。 官方解说是:基于流的自动化构建工具。 基于流:应该就是他的语法方式有点像jquery 那样 如: $(".active").css("background":"red").addClass("default");...

weixin_30768661的博客 169

大前端学习2-1__自动化构建工作流以及Gulp Grunt FIS相关工具

自动化构建工作流以及Gulp Grunt FIS相关工具自动化构建工作流以及Gulp Grunt FIS相关工具自动化构建自动化构建初体验NPM Script常用的自动化构架工具Grunt的基本使用一 grunt的基本使用步骤二 grunt标记任务失败三 grunt的配置选项方法五 grunt插件的使用六 grunt常用插件Gulp使用一 Gulp基本使用二 Gulp创建组合任务四 gulp 构建过程核心工作原理五 Gulp文件操作API和插件的使用完整gulpfile.js 写入过程封装自动化构建工作流

socaicaicaicai的博客 326

【Node.js学习笔记】使用Gulp项目自动化构建工具

刚接触node.js,对前端的一些东西还不是很清楚,据说Gulp这东西很强大,先来看看从网上抄的一段关于自动化构建的描述:   在为数众多的中小型软件作坊中,不存在自动化构建和发布工具。构建、交付准备环境、代码发布全由手工完成,同样还有运行测试、备份旧版本、新版本打标签以及许多其他重复的事情。毕竟你可能认为这全是非常简单的工作,集成开发环境通过按钮或快捷键就可构建项目,你开启两个窗口拖放少许文件...

weixin_30699463的博客 102

gulp自动化构建工具--压缩js--学习笔记

话不多说,直接进入正题 1.安装gulp-uglify 命令:npm install gulp uglify 或者 cnpm install gulp uglify 2.编写gulpfile.js //压缩js //获取gulp var gulp = require('gulp') //获取uglify模块(用于压缩js) var uglify = r...

weixin_33912445的博客 101

gulp自动化构建工具--自动编译less为css--学习笔记

1.安装 命令:npm install gulp-less 或者 cnpm install gulp-less 2.编写文件 //获取gulp var gulp = require('gulp') //获取gulp-less模块 var less = require("gulp-less") //编译less //在命令行输入gulp less启...

weixin_34107955的博客 152
上一篇: 【js】数据处理
下一篇: mock.js了解学习
谭CV
博客等级 码龄9年 73粉丝 85原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值