大多时候,我们要学习一个新东西,不是不肯去学,而是不知道该如何开始。比如学angular,我要怎么开始学?怎么应用到自己项目中?这篇文章就是我根据自己边学习边应用,构建一个项目的切身体会,来讲下怎么开始一个angular项目,希望能帮到大家。

  首先,作为一个程序员,我们需要git,Github上那么多资源,有了git,我们可以更方便地下载各位大神的开源代码。

  其次,作为一个前端程序员,node这么火,我们难道不应该跟紧脚本,马上下载一个nodejs吗?

  既然前提软件已备好,gulp及angular是什么我就不讲了,只讲怎么用。

  1、全局安装gulp及bower

  打开windows控制台,快捷键win+R运行cmd

  

  确定后 运行npm install gulp -g

  

  安装完成后,运行 gulp -v 来确认是否安装完成。

  同理安装bower。

  2、规划文件目录结构

  文件目录的规划很重要,我这里规划如下:

  

  app:生产环境代码目录,partials下放路由的页面,temp下放指令引用的模板文件;

  src:源代码目录;

  vendor:第三方插件目录;

  index.html:入口html文件。

  

  js目录根据模块划分,而不是根据controller/filter/service来划分,这样会非常清晰,什么功能模块的代码在哪里。common为公用模块,所有模块都可复用的东西。

  建议文件目录的规划根据实际情况来。

  3、使用gulp

  打开windows控制台,cd到这个文件夹的src目录下

  

  win10可以如上图,在src下按住shift键,鼠标在空白处右击,选中在此处打开命令窗口。

  win7可以敲命令

  然后运行npm init

  

  接下来的选项可以按Enter键,都默认。完成后可以看到src目录下多了个package.json文件。

  

  接下来在src目录下手动新建一个gulpfile.js文件,注意名字不能错。

  接下来需要在src目录下,运行 npm install gulp --save-dev。这命令的意思是将gulp作为开发环境的依赖项安装在此项目中。

  由于我们需要很多gulp工具,比如拼接js的工具,压缩代码的工具,代理服务的工具等等。此处我们只写个小小的例子,只需要拼接js文件的工具“gulp-concat”,以及代理服务工具“gulp-webserver”等,到时发现工具少了再安装,哈哈哈。

  运行 npm install gulp-concat gulp-webserver --save-dev 。安装完成后,可以在src/package.json文件下看到变化。

  

  接下来,我们用gulp执行一个小任务。在gulpfile.js文件中编写如下代码:

  

  然后在命令窗口运行gulp

   

  会发现默认浏览器被打开,展示的就是index.html,这就是gulp-webserver启动了本地服务。gulp的工具怎么用,可以去npm官网查询。

  4、使用bower

  在src目录下运行bower init

  

  按enter键默认选项。完成后,可以看到src下有一个bower.json文件。

  接下来使用bower 安装 angular。执行 bower install angular --save

  安装成功后,可以在src/bower_components目录下看到angular插件。

  

  今天先做到这里,接下来的东西就是怎么用angular写代码,以及gulp具体怎么处理代码。

  

手把手教你怎么搭建angular+gulp的项目(一)的更多相关文章

  1. 手把手教你如何搭建iOS项目基本框架

    手把手教你如何搭建iOS项目基本框架 今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做 ...

  2. 菜鸟-手把手教你把Acegi应用到实际项目中(8)-扩展UserDetailsService接口

    一个能为DaoAuthenticationProvider提供存取认证库的的类,它必须要实现UserDetailsService接口: public UserDetails loadUserByUse ...

  3. 手把手教你使用 Clion 开发 Linux C++ 项目

    手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...

  4. 菜鸟-手把手教你把Acegi应用到实际项目中(10)-保护业务方法

    前面已经讲过关于保护Web资源的方式,其中包括直接在XML文件中配置和自定义实现FilterInvocationDefinitionSource接口两种方式.在实际企业应用中,保护Web资源显得非常重 ...

  5. 手把手教你从零开始搭建SpringBoot后端项目框架

    原料 新鲜的IntelliJ IDEA.一双手.以及电脑一台. 搭建框架 新建项目 打开IDE,点击File -> New Project.在左侧的列表中的选择Maven项目,点击Next. 填 ...

  6. 手把手教 GitHub + Hexo 搭建博客

    前言 在很久以前,博主就想着要有自主的博客专栏或者网站.经历了博客园这个需要所谓的编辑审核,一直比较困惑,这些编辑是什么出身,怎么知道技术博客的价值性. 接下来找到了开源中国,这个可以自由发言的地方. ...

  7. 手把手教你 Docker搭建nacos单机版

    Docker搭建nacos单机版步骤 一.使用 docker pull nacos/nacos-server 拉取nacos镜像 我这里没有指定版本所以是拉取latest,你也可以使用 docker ...

  8. 一、手把手教你docker搭建fastDFS文件上传下载服务器

    在搭建fastDFS文件上传下载服务器之前,你需要准备的有一个可连接的linux服务器,并且该linux服务器上已经安装了docker,若还有没安装docker的,先百度自行安装docker. 1.执 ...

  9. 手把手教你 Docker搭建mysql并配置远程访问

    一.使用docker部署mysql 1.在docker中搜索要安装的mysql docker search mysql (这步其实可以跳过O(∩_∩)O哈哈~) 2.拉取mysql镜像 docker ...

随机推荐

  1. SQLSERVER如何导入数据保持ID不变(ID为自增主键)

    使用SQL SERVER最操蛋的就是导入数据,以前用企业管理器直接导数据,导一次骂N次娘,在骂了微软无数次娘之后总结了一个方法揍合着还算受用. 其核心要点就是要将数据结构导入到目标数据库服务器上,再来 ...

  2. AFN

    一.什么是AFN 全称是AFNetworking,是对NSURLConnection的一层封装 虽然运行效率没有ASI高,但是使用比ASI简单 在iOS开发中,使用比较广泛 AFN的github地址 ...

  3. linux 中c/c++实现终端命令行命令

    在终端中可以从用下面命令获得帮助: man system 在c/c++代码中实现和在终端中输入的命令行一样的效果,以命令(audacious -p &)为例,该代码实现用audacious在后 ...

  4. SQL 存储过程 触发器 事务

    一.存储过程 存储过程:就像函数一样的会保存在:数据库中-->可编程性 --> 存储过程 创建存储过程:create proc JiaFa --存储关键字proc @a int,      ...

  5. 5. UITest测试总结

    1. 什么是Mock 当我们在做单元测试的过程中,为了保持测试又短又快和测试的隔离性,希望尽可能少地去实例化一些具体的组件.在现在面向对象的系统中,被测试的对象很可能会依赖于几个其他的对象,这时候我们 ...

  6. 众人拾柴火焰高之Tomcat集群

    一人拾柴火不旺,众人拾柴火焰高.Tomcat服务器也是一样,一台服务器再强大能承受的访问也是有限的.要提供高并发.高可用的服务,就必须横向扩展,多台Tomcat组成一个集群,根据实际的访问量动态增减服 ...

  7. swift2.0 字符串,数组,字典学习代码

    swift 2.0 改变了一些地方,让swift变得更加完善,这里是一些最基本的初学者的代码,里面涉及到swift学习的最基本的字符串,数组,字典和相关的操作.好了直接看代码吧. class View ...

  8. JUnit4 与 JMock 之双剑合璧

    引言 单元测试可以保证代码的质量,最大程度降低修复系统 bug 的时间和成本.能被称为测试的阶段有:单元测试.集成测试.系统测试和用户测试.修复系统 bug 的时间和成本随着这些阶段的推移呈指数级增长 ...

  9. GAME(A)性能测试过程模型

  10. 酷派8702手机打开logcat

    机器在出厂时将log的级别做了限制,方法是:拨号盘输入*20121220# -> 选择日志输出级别 -> 选择Java log level -> 选择LOGD即可.