自己搭建一个jQuery的项目

一:创建远程仓库

码云,腾讯开发者平台,github,阿里云。。。

二:将远程仓库克隆到本地
$git clone 你的项目地址
三:搭建项目源文件目录结构

HTML + CSS
JavaScript
jQuery
gulp
git
sass / less
requirejs
php + mySql

四:添加gulp功能(请保证电脑全局安装了NodeJS否则使用不了npm命令)

NodeJS下载方法:https://blog.csdn.net/weixin_43606158/article/details/97613821

  • 生成package.json文件
$npm init -y
  • 按照gulp及gulp插件
$cnpm install gulp gulp-sass gulp-uglify gulp-babel @babel/core @babel/preset-env gulp-htmlmin gulp-connect --save-dev

– gulp //
– gulp-sass //将sass文件编译成css文件的
– gulp-uglify //压缩js文件的
– gulp-babel @babel/core @babel/preset-env //将ES6代码转为ES5代码的
– gulp-htmlmin //压缩html文件的
– gulp-connect //浏览器自动刷新任务(实时监控)

  • 编写gulpfile.js文件(定制gulp任务,可看gulp官网)
// 引入模块
const
	gulp = require("gulp"),//requires the core Gulp library需要核心gulp库
	babel = require("gulp-babel"),
	uglify = require("gulp-uglify"),
	htmlmin = require("gulp-htmlmin"),
	sass = require("gulp-sass"),
	connect = require("gulp-connect");//定制浏览器自动刷新任务。通过在本地开启一个websocket服务,检测文件变化,当文件被修改后触发livereload任务,推送消息给浏览器刷新页面

// 定制任务:压缩JS
gulp.task("js", () => {
	gulp.src("src/js/**/*.js")//找到路径为"src/js/**/*.js"的所有文件
		.pipe(babel({
			presets: ['@babel/env']
		}))//pipe理解为管道,上一步处理完的数据会进来继续处理,
		// 处理完毕流到下一个管道。所有这里先pipe(babel({presets: 
		// ['@babel/env']}))是用js()函数处理上一步匹配到的数据
		.pipe(uglify())//.pipe(uglify())用uglify()函数处理上一步流过来的数据
		.pipe(gulp.dest("dist/js"))//继续处理流过来的数据,通过dest方法把他们输出到"dist/js"目录
		.pipe(connect.reload());//继续处理流过来的数据,然后执行浏览器刷新任务。
});

// 编译*.scss文件
gulp.task("sass", () => {
	gulp.src("src/sass/**/*.scss")
		.pipe(sass({ outputStyle: "compressed" }))
		.pipe(gulp.dest("dist/css"))
		.pipe(connect.reload());
});

// 压缩HTML文件
gulp.task("html", () => {
	gulp.src("src/**/*.html")
		.pipe(htmlmin({ collapseWhitespace: true, minifyJS: true }))
		.pipe(gulp.dest("dist/"))
		.pipe(connect.reload());
});


// 将 src 下的 images、lib、css 复制到 dist 目录下
gulp.task("copy-images", () => {
	gulp.src("src/images/**/*.*")
		.pipe(gulp.dest("dist/images"));
});
gulp.task("copy-lib", () => {
	gulp.src("src/lib/**/*.*")
		.pipe(gulp.dest("dist/lib"));
});
gulp.task("copy-css", () => {
	gulp.src("src/css/**/*.*")
		.pipe(gulp.dest("dist/css"));
});
gulp.task("copy-font", () => {
	gulp.src("src/font/**/*.*")
		.pipe(gulp.dest("dist/font"));
});

//定义复制文件任务,调用"copy-images", "copy-lib", "copy-css","copy-font"任务
gulp.task("copy", ["copy-images", "copy-lib", "copy-css", "copy-font"]);

// 启动 webserver
gulp.task('server', function () {
	connect.server({
		root: "dist",
		port: 8080,
		livereload: true
	});
});

// 监视任务
gulp.task("watch", () => {
	// 监听 sass 文件夹下的 *.scss文件的修改,当有修改文件,则执行 "sass" 任务
	gulp.watch("src/sass/**/*.scss", ["sass"]);
	// 监听html文件修改
	gulp.watch("src/**/*.html", ["html"]);
	// 监听js修改
	gulp.watch("src/js/**/*.js", ["js"]);
});

// 默认任务,调用上面所有任务
gulp.task("default", ["sass", "js", "html", "copy", "server", "watch"]);

如果你是把笔者的gulpfile.js代码搞过去了,那你就可以在命令行使用glup运行项目了。

五:生成.gitignore文件
$touch .gitignore

.gitignore文件中的内容是在你提交代码时不提交的文件名
在这里插入图片描述
dist目录与node_modules目录没必要每次上传到代码托管平台,尤其是node_modules目录,如果你上传上去了,在下载的时候就会很久很久。而且没必要,我们项目依赖的插件已经在package中有说明了,我们只需要把远程代码拉取下来npm install就可以了。(如果此处没懂请在下方评论,笔者单独讲解)

六:提交初始版本(本地版本库)
$git add .
$git commit -m "xx"
七:推送到远程仓库
$git push
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值