[如何在Mac下使用gulp] 1.创建项目及安装gulp
1.创建项目
2.安装gulp
3.创建gulpfile.js文件
4.运行gulp
创建项目
-创建项目文件夹命名为firstGulp,并在firstGulp目录下运行 npm init 。npm init 会创建packjson文件,用于保存与项目有关的文件信息。创建步骤直接按回车跳过就好。

绿色部分需要我们根据项目自身情况手动输入 ,也可设置为空。红色部分是最终生成的内容。
-当然在最后,需要手动确认信息。确认之后,会在firstGulp项目目录下生成一个packjson.json文件

-确认之后,在firstGulp目录下生成的packjson.json文件如下。
{
  "name": "none",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
2.安装gulp
在安装gulp之前,一起来梳理下几个问题。
2.1 什么是全局安装?
在项目目录中执行以下命令:
npm install gulp -g 或者 npm install gulp --global
全局环境下安装gulp,目的在于能够在命令行中使用gulp命令执行gulp。
通过npm root -g 查看在全局环境下安装的路径:
/usr/local/lib/node_modules
2.2 什么是本地安装?
在项目目录中执行以下命令:
npm install gulp 或者 npm install gulp --save-dev 或者 npm install gulp --save
npm install gulp --save 自动把模块和版本号添加到packjson.json文件中的dependencies部分
npm install gulp --save-dev 自动把模块和版本号添加到packjson.json文件中的devdependencies部分
2.3 什么要先全局安装再本地安装?
-全局安装是为了可以通过命令行执行gulp命令。而且如果有多个项目都需要使用gulp,只需要全局安装一次即可。
-根据项目情况,我们一般会选取gulp插件通过require()的方式引入到gulpfile.js中,如果只使用全局安装,需要手动配置路径来解决模块引入问题。通过在本地安装gulp可以很好的解决这个问题。
-本地安装可以让每个项目都有一个独立的包,并且组织各个包之间的依赖。不受全局包的影响。换句话说,如果只在全局安转gulp,那么会造成多个项目共用同一个版本的gulp。
-方便项目的打包,复制等操作。
执行后 npm install gulp --save-dev packjson.json内容变换 如下:
{
    "name": "none",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
       "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "",
    "license": "ISC",
    "devDependencies": {
       "gulp": "^3.9.1"  //自动把模块和版本号添加到packjson.json文件中的devdependencies部分
}
}
3.创建gulpfile.js文件
gulp.task("default",function(){//default 为默认任务名,这种情况只需要在命令行中输入 gulp即可。 如果有特定的taskName,需要在命令行中实行 gulp taskName
	  console.log("hi, gulp")
})
-gulpfile.js将作为gulp的主文件负责执行在其中定义的任务。
4.运行gulp
gulp =>输出 “hi,gulp”
[如何在Mac下使用gulp] 1.创建项目及安装gulp的更多相关文章
- 如何在Mac下配置Github和Bitbucket的SSH
		
--- title: 如何在Mac下配置Github和Bitbucket的SSH date: 2017-12-23 21:10:30 tags: - Mac - Git - Github catego ...
 - Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除
		
内容是google的,测试有效,因为用revel打包的东西删除以后有这个循环bug Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效.文件的删除 关于这个问题我找到的一 ...
 - Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime
		
Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime 周银辉 我的mac os 版本是10.9.2, JDK配置得好好的,但打开eclipse时还是提示需 ...
 - 解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题  Sequel Pro 1.1 encountered an unexpected error
		
解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro encountered an unexpected error Sequel Pr ...
 - Mac下Intellij IDea发布Web项目详解一
		
Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...
 - 【前端自动化】Gulp的使用(一):安装gulp
		
作为一个.NET码农,在前端高速发展的时代,深深感觉自己那么点“前端”技术不够看,比如开发出来的js css等文件庞大,不便于管理,还记得以前的开发就是累加 html css jquery, 现 ...
 - iOS问题处理:如何在Mac下显示Finder中的所有文件
		
摘自:http://www.cnblogs.com/elfsundae/archive/2010/11/30/1892544.html 在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/ ...
 - [Mac入门]如何在Mac下显示Finder中的所有文件
		
在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...
 - 如何在Mac下显示Finder中的所有文件
		
在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...
 
随机推荐
- checkbox是否选中判断
			
三种方式: $('#checkAll').bind('click',function(){ //第一种 console.log(this.checked); //第二种 console.log($(t ...
 - android-----JNI中的log打印【转】
			
本文转载自:http://blog.csdn.net/zengraoli/article/details/11644815 1. 导入log头文件 在你使用的 .c/ .cpp 文件中 导入 log. ...
 - .NET 的WebSocket开发包详细比较(2)
			
AlchemyWebSocket http://alchemywebsockets.net/ 当我想到websocket库时,这个让人不可思议.没错这是真的.它可以排在Fleck后面,它非常容易使用, ...
 - [JSOI 2012] 玄武密码
			
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4327 [算法] AC自动机[代码] #include<bits/stdc++. ...
 - Linux基本命令 文件管理 下部
			
1.1 移动文件 将/data目录移动到/root下 涉及命令mv [root@oldboyedu-50 ~]# mv /data/ /root/ 移动 [root@oldboyedu-50 ~]# ...
 - P2258 子矩阵(dp)
			
P2258 子矩阵 题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第2.4行和第2.4 ...
 - [Swift通天遁地]二、表格表单-(14)实时调整表单元素的激活和失效
			
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
 - 解决macOS升级之后每次使用ssh都要输入密码的问题
			
最近想趁着假期把跟了我2年mac的系统重做下.于是就开始行动了,经过大半天的数据备份.然后进行了全盘格式化,使用了在线更新的方式从新安装升级到了10.12.6.这里提醒下有类似的想法的同学可以采用 ...
 - JavaScript--输出内容(document.write)
			
document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出""号内的内容. <scrip ...
 - 安卓5.0新特性之Palette
			
根据图片来决定标题的颜色和标题栏的背景色,这样视觉上更具有冲击力和新鲜感,而不像统一色调那样呆板. Palette这个类能提取以下突出的颜色: Vibrant(充满活力的) Vibrant dark( ...