项目完成后的目录

我们所需要的插件为:gulp-minify-css gulp-concat gulp-uglify gulp-rename del 如下图所示,完成后的项目目录结构:

附加,获取package.json  (package.json 位于模块的目录下,用于定义包的属性。)

方法一、可以直接拷贝放进项目文件夹

方法二、npm init (自动初始化创建)

自动生成包含

{
"name": "nodejs",
"version": "1.0.0",
"description": "ceshi",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"keywords": [
"ting"
],
"author": "coco",
"license": "ISC"
}

1、第一步,创建文件夹名称 project,引用gulp

首先要确保pc上装有node,然后在global环境和项目文件中都install gulp

npm install gulp -g   (global环境)

npm install gulp --save-dev (项目环境)

2、第二步,安装需要的插件,我们所需要的插件为:gulp-minify-css gulp-concat gulp-uglify gulp-rename del

npm install gulp-minify-css gulp-concat gulp-uglify gulp-rename del --save-dev

3、第三步,创建gulpfile.js,将我们所用到的插件引用到我们项目中,代码如下:

var gulp = require('gulp'),
minifycss = require('gulp-minify-css'), //CSS压缩
concat = require('gulp-concat'), // 文件合并
uglify = require('gulp-uglify'), //js压缩插件
rename = require('gulp-rename'), // 重命名
del = require('del'); // 文件删除

任务配置开始:

// 任务名称
gulp.task('default', function() {
gulp.start('clean','minifycss', 'minifyjs'); // 要执行的任务
});
//CSS压缩
gulp.task('minifycss', function() {
return gulp.src('src/*.css') //压缩的文件
.pipe(minifycss()) //执行压缩
.pipe(gulp.dest('minified/css')); //输出文件夹
});
// JS 合并压缩
gulp.task('minifyjs', function() {
return gulp.src('src/*.js')
.pipe(concat('main.js')) //合并所有js到main.js
.pipe(gulp.dest('minified/js')) //输出main.js到文件夹
.pipe(rename({suffix: '.min'})) //rename压缩后的文件名
.pipe(uglify()) //压缩
.pipe(gulp.dest('minified/js')); //输出
});
// 执行压缩前,先删除目录里的内容
gulp.task('clean', function(cb) {
del(['minified/css', 'minified/js'], cb)
});

3、第四步,完成后的package.json的文件夹,显示如下:

{
"name": "gulp_projext01",
"version": "1.0.0",
"description": "",
"main": "gulpfile.js",
"dependencies": {
"del": "^2.2.0",
"gulp-concat": "^2.6.0",
"gulp-minify-css": "^1.2.4",
"gulp": "^3.9.1",
"gulp-rename": "^1.2.2",
"gulp-uglify": "^1.5.3"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

贴士 1: 不要提交 node_modules 文件夹

虽然我们的话题一直是modules和npm,但是并不是不是很多人都知道,你不应该提交node_modules文件夹。这背后最大的原因是,没有必要提交这个文件夹。只要有人下载你的代码,它们可通过运行NPM来安装和下载所有需要的模块。

您可能会说,它是不是一个大问题,如果检查node_modules,但是,如果下载代码的人使用了和你编译modules不一样的操作系统的来安装通过NPM?你的应用程序将会崩溃,下载代码的人将不知道为什么会如此!

举个例子bcrypt以及sentimental如果当在您安装在主机系统上编译它们,因为它们用了本地C语言组件来编译。

避免检查node_modules文件夹的方式是加入.gitignore

node_modules

最新文章

  1. FeWeb基础之HTML
  2. c# 映射对比测试
  3. Java中的static的使用
  4. (1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的double型变量x,
  5. [译] ASP.NET MVC 6 attribute routing – the [controller] and [action] tokens
  6. 从今天起开始记录下在freecodecamp学习的一些tip吧(所有内容都在这个随笔的评论里面记录)
  7. dede织梦怎么修改description的字数
  8. linux开机启动流程及需要开机启动服务讲解和修改及防火墙
  9. Android Studio JNI javah遇到的问题
  10. SCRIPT438: 对象不支持“indexOf”属性或方法
  11. ES6系列之解构
  12. caffe调试
  13. P1080 国王游戏 贪心 高精度
  14. 547. Friend Circles 求间接朋友形成的朋友圈数量
  15. Tomcat8.5配置https启动报空指针错误
  16. NPOI 自定义单元格背景颜色 XSSFWorkbook - Excel
  17. 【Mysql】外键
  18. Centos7搭建软路由
  19. android studio 修改gradle引用本地文件
  20. Hadoop教程(五)Hadoop分布式集群部署安装

热门文章

  1. HNOI2004 郁闷的出纳员(Splay)
  2. System对象
  3. 用CSS3产生动画效果
  4. 阅读 Android源码的一些姿势
  5. 区别dependencies、devDependencies
  6. 路由器漏洞复现分析第三弹:DVRF INTRO题目分析
  7. c:foreach如何输出序号
  8. How to initialize th rasp berry PI
  9. 【Hadoop】Apache Eagle 简介--分布式实时 Hadoop 数据安全方案
  10. JavaSE入门学习18:Java面向对象之多态