首页 > 其他分享 >Gulp 的使用

Gulp 的使用

时间:2024-11-14 16:08:20浏览次数:1  
标签:gulp const pipe cb Gulp build 使用 com

官网:https://gulpjs.com/docs/en/getting-started/quick-start

可以使用 Gulp 直接来构建自动化,使用简单,里面提供了 4000 多个插件

// gulpfile.js
const gulp = require('gulp');
const clean = require('gulp-clean'); // https://www.npmjs.com/package/gulp-clean
const concat = require('gulp-concat'); // https://www.npmjs.com/package/gulp-concat
const inject = require('gulp-inject'); // https://www.npmjs.com/package/gulp-inject
const uglify = require('gulp-uglify'); // https://github.com/terinjokes/gulp-uglify
const sourcemaps = require('gulp-sourcemaps'); // https://www.npmjs.com/package/gulp-sourcemaps
const spawn = require('cross-spawn'); // https://www.npmjs.com/package/cross-spawn
const postcss = require('gulp-postcss'); // https://github.com/postcss/gulp-postcss
const babel = require('gulp-babel'); // https://github.com/babel/gulp-babel

// 安装
// pnpm i -D gulp cross-spawn gulp-postcss gulp-uglify gulp-babel @babel/core @babel/preset-env gulp-concat gulp-sourcemaps gulp-inject

// NOTE: 需要去 package.json 中配置 "scripts": { "build:vite": "vite build" } 并且删除 "type": "module" 或改为 "type": "commonjs"

const pathDist = 'dist';

gulp.task('clean', (cb) => {
	gulp.src([pathDist], { read: false, allowEmpty: true }).pipe(clean());
	console.log('清空dist目录成功');

	cb();
});

gulp.task('build-vite', (cb) => {
	spawn.sync('pnpm run build:vite', [], { stdio: 'inherit' });
	console.log('编译vite项目成功');
	cb();
});

gulp.task('build-css', (cb) => {
	gulp.src(`${pathDist}/**/*.css`)
		.pipe(postcss([]))
		.pipe(gulp.dest(`${pathDist}/styles`));
	console.log('编译styles成功');
	cb();
});

gulp.task('build-js', (cb) => {
	gulp.src(`${pathDist}/**/*.js`)
		.pipe(sourcemaps.init())
		.pipe(
			babel({
				presets: ['@babel/env'],
				compact: true,
			}),
		)
		.pipe(concat(`sitecore-console.min.js`))
		.pipe(uglify())
		.pipe(sourcemaps.write(`maps`))
		.pipe(gulp.dest(`${pathDist}/scripts`));
	console.log('编译js成功');
	cb();
});

gulp.task('build-inject', (cb) => {
	gulp.src(`${pathDist}/**/*.css`)
		.pipe(postcss([]))
		.pipe(gulp.dest(`${pathDist}/styles`));
	console.log('编译styles成功');
	cb();
});

gulp.task('default', gulp.series(['clean', 'build-vite', 'build-css', 'build-js']), (cb) => {
	console.log('编译成功');
	cb();
});

标签:gulp,const,pipe,cb,Gulp,build,使用,com
From: https://www.cnblogs.com/fires/p/18546242

相关文章

  • Verilog中genvar 和 generate的使用
    1.genvar和generate的作用genvar是一种特殊的数据类型,用于在generate语句块中定义循环变量。与普通变量不同的是,genvar只能用于generate语句中,并且只能用于生成时刻(编译时)进行评估,而非仿真时。generate块用于生成硬件逻辑。它允许使用for循环、if条件语句等来创......
  • 真的一行代码没写,使用cursor智能代码编辑器,通过问答的方式,我构建了一个微信小程序
    文章目录1待办123产品介绍1.1使用说明1.2产品亮点1.3应用场景2零基础实战教程:零代码开发微信小程序2.1微信公众号注册小程序2.2下载安装微信开发者工具2.3下载安装cursor2.4使用cursor零代码构建微信小程序3总结使用cursor已经有一段时间了,主要是辅助代......
  • vmstat的使用
    1.用法vmstat[-a][-n][-Sunit][delay[count]]vmstat[-s][-n][-Sunit]vmstat[-m][-n][delay[count]]vmstat[-d][-n][delay[count]]vmstat[-pdiskpartition][-n][delay[count]]vmstat[-f]vmstat[-V]-a:显示活跃和非活跃内存-f:显示从系统启动......
  • 使用Java爬虫技术高效获取电商平台店铺商品数据
    在电商领域,商品信息的获取是进行市场分析、竞品监控等工作的基础。本文将介绍如何利用Java爬虫技术,通过API接口高效地获取店铺所有商品的详细信息。我们将使用Java语言,结合HttpClient库和JSON解析库,展示从API请求数据到数据处理的整个过程。理解API接口API(应用程序编程接口)允......
  • 切面同时使用@Pointcut 和 @Around 跟单独使用有什么区别
    同时使用@Pointcut和@Around与单独使用@Around的主要区别在于代码的复用性和可读性。下面详细解释这两种方式的区别:1.单独使用 @Around当你直接在@Around注解中定义切点表达式时,切点表达式会内联在每个@Around方法中。这种方式简单直接,但可能会导致代码重复和维......
  • [QT][NCNN][YOLOV8-SEG]使用ncnn框架部署yolov8-seg,外加qt进行界面可视化操作,用于图片
    yolov8seg_qt_ncnn使用ncnn框架部署yolov8-seg,外加qt进行界面可视化操作,用于图片和视频实例分割推理。Github地址:https://github.com/zhahoi/yolov8seg_qt_ncnn起一直以来自己做算法部署或者是模型推理,最后总是需要在命令行敲各种命令,然后通常借助opencv进行可视化。老......
  • 丹摩征文活动|丹摩智算平台使用指南
    目录1.登录平台与工作环境设置1.1访问与登录1.2创建或选择项目1.3初始化项目环境2.数据上传与管理2.1数据上传2.2数据管理与预处理2.3数据可视化3.模型构建与训练3.1模型选择3.2参数配置3.3模型训练与评估4.模型部署与应用4.1模型部署4.2接口调用与集......
  • 解决 uniapp打包app 使用uview的图片上传导致的 您的应用在运行时,未同步告知权限申请
    该问题主要原因是因为u-upload的组件在点击上传组件就直接触发了权限获取而华为的要求是点击拍摄提示获取相机权限并提示点击从相册选择获取存储权限并提示本文主要解决uview的u-upload导致的问题解决思路为修改u-upload组件在u-upload组件添加以下代码//自定义......
  • 【Pytorch】神经网络介绍|激活函数|使用pytorch搭建方法
    神经网络神经网络介绍概念神经网络人工神经网络ANN也称神经网络NN是一种模仿生物神经网络结构和功能的计算模型人脑可以看作是一个生物神经网络,由众多神经元连接而成,神经网络可以看作是模拟生物神经元的过程输入层inputLayer:输入x的那一层输出层output......
  • Jmeter (5.6.3) Windows 使用示例
    步骤:1.下载apache-jmeter-5.6.3.zip2.解压,在环境变量Path中,新增jMeter的bin文件夹的路径3.在bin文件夹中,双击jmeter.bat->打开JMeter4.在JMeter的窗口中:文件->新建(创建测试计划)5.测试计划右键:添加->线程(用户)->线程组6.线程组右键:添加->取样器->HTTP请求7.HTTP请......