(安装好相关的前端环境)

此项目只是test demo,已经上传到gitup中,需要可以clone下来看看,项目地址:angular-gulp

1.新建一个文件夹,名字为angular-gulp,dos命令切换到该目录,输入npm init,继续添上你需要的信息,ok之后目录中多了package.json(管理项目所依赖的npm包 )

  • npm init –yes|-y: 执行此命令,则会直接创建一个package.json,只配置了一些必填字段,并且给出默认值。其中name: 所处的文件夹名称

2.在package.json中配置项目相关信息,重要为相关依赖包,dependencies: 项目在生产环境中依赖的包,devDependencies: 项目在开发和测试环境中依赖的包,这里demo只配置一个。

3.配置好之后输入命令npm install,下载依赖包,完成会生成node_moduler并放在里面。

4.构建项目结构,层级,根据此项目中有几个项目构建结构(比如B端,C端,官网),此项目目录结构如下:

css js文件夹下放对应的less,js文件,app下放对应的模块controller,holder发导航栏,core放公共的js,dist放app对应的模块(二级菜单)打包压缩后的文件,lib中放第三方插件。

5.加index.html,写入口0.js,core.js声明相关依赖,ui-router路由,nav.js导航栏,config.js路由配置,(实现懒加载),api.js框架接口封装,接口调用,foundation为常用函数,其余你自己可以加上常量和本地存储的变量,弹出框,自定义组件directive和常用的第三方插件。(注意路径)

6.写gulpfile.js进行自动化压缩,打包,加版本。这里gulp一步就进行了压缩,监听变化,这里没有清除版本的hash值(clean),如果有需要你可以gulp的时候讲加版本的文件清除掉(gulp-clean),release的时候在打版本号。lib第三方的打包在js目录下的lib.min.js,app中各个模块的文件放在js/dist下的文件名+.js,core,holder放在core.min.js,然后将lib.min.js和core.min.js连接放在js目录下的all.min.js。css同理,克隆看代码即可明白(注意任务的链式链接来控制任务的先后顺序).gulp release任务增加版本号,然后更改index.html(加版本可以更改文件名或者在文件名后面加上?v=hash值,这里为后者)

7.开启服务器,输入gulp命令(会调用default命令,开启watch和端口监听)

gulp.task('browserSync', function () {
browserSync.init({
server: {
baseDir: "./"
// baseDir:"../WEB-INF/thymeleaf/web/views"
}
});
});

  

8.查看打包后的文件变化,浏览器查看加载的文件。

效果如下(点击可实现路由页面跳转):

9.上传到gitup中,新建仓库angular-gulp,然后拉代码到本地,会拉下来README.md,将你的工程项目移到你的本地仓库中,切换到当前目录,输入命令提交或者IDEA工具提交,先介绍命令提交(这里提交的时候发现把node_module中的文件也add了,然后撤销后再新建一个.gitignore然后再提交,应该大家都会,可以参考我发布第一篇文章git的使用)。

提交成功,去gitup上看已经跟新了。(以后修改提交代码可以借助IDEA或者sourcetree)

10.IDEA修改代码,提交查看是否更新(add commit push一步到位使,用IDEA需要在.gitignore中将他生成.idea的文件不提交)

10.提交成功后,git上也同步跟新了,a minute age。

-----原创文章,©版权所有,转载请注明标明出处:http://www.cnblogs.com/doinbean

搭建angular1 gulp项目(上传到gitup)的更多相关文章

  1. 如何通过Git GUI将自己本地的项目上传至Github

    最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...

  2. 将本地项目上传到Github

    将本地项目上传到Github 转载请注明出自天外归云的博客. 前提 已经下载了Git到本地. 创建Repository 首先登陆我的Github页面,在Repositories中New一个并起Repo ...

  3. Myeclipse2013 SVN安装方法以及项目上传到svn服务器

    1. 打开 Myeclipse 工具栏下的Help下的Install from Site 2.打开后弹出窗口, 并点击Add标签,如下图: 3.现在是最重要的一步,填写相关信息. 在对话框Name输入 ...

  4. Myeclipse2014 SVN安装方法以及项目上传到svn服务器

    1. 打开 Myeclipse 工具栏下的Help下的Install from Site 2.打开后弹出窗口, 并点击Add标签,如下图: 3.现在是最重要的一步,填写相关信息. 在对话框Name输入 ...

  5. mac下安装git,并将本地的项目上传到github

    mac下安装git 安装过程: 1.下载Git installer http://git-scm.com/downloads 2.下载之后打开,双击.pkg安装 3.打开终端,使用git --vers ...

  6. 详细教程:将本地项目上传到github

    作为 一个工程师,将本地项目上传到github进行备份和分享是一个不错的技能,一来可以方便以后的工作,二来可以分享自己的成果.所以下面本人详细教大家如何将本地项目上传到github,十分简单,一学就会 ...

  7. Git的使用-如何将本地项目上传到Github

    默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...

  8. 如何用命令将本地项目上传到github

    一.Git终端软件安装 1.下载windows上git终端,类似shell工具,下载地址:http://msysgit.github.io/ 2.安装方法,打开文件,一路点击Next即可 3.安装完成 ...

  9. 使用 vscode将本地项目上传到github以及删除github上的某个文件夹

    安装Git后,可以看到windows环境下有两个命令输入窗口Git CMD 和Git Bash Git GUI是可视化图形界面 Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能 ...

随机推荐

  1. SQL命令语句进行大数据查询如何进行优化

    SQL 大数据查询如何进行优化? 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索 2.应尽量避免在 where 子句中对字段进行 null 值 ...

  2. [Egret]长按图片分享、分享图片、本地存储

    egret 分享有API可以把一个显示对象树渲染成一个位图纹理,我把它赋值给 HTML 的 Image 元素,就实现了图片的显示,在微信中,通过长按图片可以分享出去.当然在其他浏览器可以保存在本地. ...

  3. 在Java编码中,如何减少bug数量

    众所周知,Java编程语言在IT行业是企业中不可缺少的.不管,从Web应用到Android应用,这款语言已经被广泛用于开发各类应用及代码中的复杂功能.但在编写代码时,bug永远是困扰每一位从业者的头号 ...

  4. js实际工作中的技能点

    1.基础知识 a.原型,原型链 b.作用域,闭包 c.异步,单线程 2.JS API a.DOM操作 b.Ajax c.事件绑定 3.开发环境 a.版本管理(git) b.模块化(require.js ...

  5. 《Linux命令行与shell脚本编程大全》第十三章 更多的结构化命令

    本章讨论bash shell的循环命令for.while和until 13.1 for命令 重复执行一系列命令在编程中很常见. bash shell提供了for命令,允许你创建一个遍历一系列值的循环. ...

  6. tensorflow 学习笔记(转)

    转自:http://blog.csdn.net/qq_32166627/article/details/52734387 侵删. tensorflow中有一类在tensor的某一维度上求值的函数.如: ...

  7. 深入了解Android蓝牙Bluetooth——《进阶篇》

    在 [深入了解Android蓝牙Bluetooth--<基础篇>](http://blog.csdn.net/androidstarjack/article/details/6046846 ...

  8. Python学习笔记整理总结【web基础】【web/HTML/CSS/JavaScript/DOM/jQuery】

    一.HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以 ...

  9. ios判断手机号是否可用

    + (BOOL)valiMobile:(NSString *)mobileNum { if (mobileNum.length != 11) { return NO; } /** * 手机号码: // ...

  10. JAVA的向上转型和向下转型怎么理解呢?

    在定义中是子类向父类转型称为向上转型,父类向子类转型是向下转型(必须先向上转型过,才能向下转型), 但是在下面类定义后,我得到的结果却不同.求大佬解惑 class superclass{ public ...