angular1配合gulp和bower的使用教程


Posted in Javascript onJanuary 19, 2018

一 安装gulp和bower

gulp安装: npm install -g gulp
bower安装: npm install -g bower
==注:== angularjs的一些包文件我们是通过bower来管理的

二 bower使用

  1. 使用bower初始化一个项目: bower init
  2. 填写工程名,描述等等那些东西
  3. 安装angularjs:bower install --save angular
  4. 创建.bowerrc文件(注意window最好用命令行创建)

三 自动化工具gulp的使用

  1. 初始化文件:npm init(一直回车下去就可以)
  2. 在项目里面安装gulp:npm i --save-dev gulp
  3. 安装gulp的依赖插件(只介绍项目中用到的)gulp-clean,gulp-concat,gulp-connect,gulp-cssmin,gulp-imagemin,gulp-less,gulp-load-plugins,gulp-uglif,open(可以和上面安装gulp一样安装)
  4. 创建gulpfile.js来编写gulp的配置
// 依赖
var gulp = require('gulp');
// 进行实例化(gulp-load-plugins这个模块后面可以通过$来操作)
var $ = require('gulp-load-plugins')();
// open模块
var open = require('open');
var app = {
 srcPath: 'src/', //源代码路径
 devPath: 'build/', //整合后的路径,开发路径
 prdPath: 'dist/' //生产环境路径
};
// 创建任务
gulp.task('lib', function () {
 gulp.src('bower_components/**/*.js')
 .pipe(gulp.dest(app.devPath + 'vendor'))
 .pipe(gulp.dest(app.prdPath + 'vendor'))
 .pipe($.connect.reload());
});
/*
* html任务
* 创建目录src,在src下创建index.html
* 创建视图模版目录view,在其中存放视图view的模版
*/
gulp.task('html', function () {
 gulp.src(app.srcPath + '**/*.html')
 .pipe(gulp.dest(app.devPath))
 .pipe(gulp.dest(app.prdPath))
 .pipe($.connect.reload());
});
/*
* json任务
*/
gulp.task('json', function () {
 gulp.src(app.srcPath + 'data/**/*.json')
 .pipe(gulp.dest(app.devPath + 'data'))
 .pipe(gulp.dest(app.prdPath + 'data'))
 .pipe($.connect.reload());
});
/*
* css任务
* 在src下创建style文件夹,里面存放less文件。 
*/
gulp.task('less',function () {
 gulp.src(app.srcPath + 'style/index.less')
 .pipe($.less())
 .pipe(gulp.dest(app.devPath + 'css'))
 .pipe($.cssmin())
 .pipe(gulp.dest(app.prdPath + 'css'))
 .pipe($.connect.reload());
});
/*
* js任务
* 在src目录下创建script文件夹,里面存放所有的js文件
*/
gulp.task('js', function () {
 gulp.src(app.srcPath + 'script/**/*.js')
 .pipe($.concat('index.js'))
 .pipe(gulp.dest(app.devPath + 'js'))
 .pipe($.uglify())
 .pipe(gulp.dest(app.prdPath + 'js'))
 .pipe($.connect.reload());
});
/*
* image任务
* 
*/
gulp.task('image', function () {
 gulp.src(app.srcPath + 'image/**/*')
 .pipe(gulp.dest(app.devPath + 'image'))
 .pipe($.imagemin()) // 压缩图片
 .pipe(gulp.dest(app.prdPath + 'image'))
 .pipe($.connect.reload());
});
// 每次发布的时候,可能需要把之前目录内的内容清除,避免旧的文件对新的容有所影响。 需要在每次发布前删除dist和build目录
gulp.task('clean', function () {
 gulp.src([app.devPath, app.prdPath])
 .pipe($.clean());
});
// 总任务
gulp.task('build', ['image', 'js', 'less', 'lib', 'html', 'json']);
// 服务
gulp.task('serve', ['build'], function () {
 $.connect.server({ //启动一个服务器
 root: [app.devPath], // 服务器从哪个路径开始读取,默认从开发路径读取
 livereload: true, // 自动刷新
 port: 1234
 });
 // 打开浏览器
 open('http://localhost:1234');
 // 监听
 gulp.watch('bower_components/**/*', ['lib']);
 gulp.watch(app.srcPath + '**/*.html', ['html']);
 gulp.watch(app.srcPath + 'data/**/*.json', ['json']);
 gulp.watch(app.srcPath + 'style/**/*.less', ['less']);
 gulp.watch(app.srcPath + 'script/**/*.js', ['js']);
 gulp.watch(app.srcPath + 'image/**/*', ['image']);
});
// 定义default任务
gulp.task('default', ['serve']);

总结

以上所述是小编给大家介绍的angular1配合gulp和bower的使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
技术男用来对妹子表白的百度首页
Jul 23 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
Javascript实现单例模式
Jan 24 Javascript
jQuery UI Bootstrap是什么?
Jun 17 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
Feb 23 Javascript
javascript实现滑动解锁功能
Mar 22 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
微信小程序按顺序同步执行的两种方式
Dec 20 Javascript
JSON获取属性值方法代码实例
Jun 30 Javascript
浏览器调试动态js脚本的方法(图解)
Jan 19 #Javascript
Angular实现搜索框及价格上下限功能
Jan 19 #Javascript
vue 插值 v-once,v-text, v-html详解
Jan 19 #Javascript
web前端vue实现插值文本和输出原始html
Jan 19 #Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 #Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 #jQuery
解决js ajax同步请求造成浏览器假死的问题
Jan 18 #Javascript
You might like
PHP 验证登陆类分享
2015/03/13 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
微信小程序之GET请求的实例详解
2017/09/29 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
浅谈React高阶组件
2018/03/28 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
简单谈谈Python中的闭包
2016/11/30 Python
python实现rsa加密实例详解
2017/07/19 Python
python机器人行走步数问题的解决
2018/01/29 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Django REST framwork的权限验证实例
2020/04/02 Python
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
几个Shell Script面试题
2014/04/18 面试题
营业员实习自我鉴定
2013/12/07 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
质量主管工作职责
2014/09/26 职场文书
2014年度个人总结范文
2015/03/09 职场文书
撤诉书怎么写
2015/05/19 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
分家协议书范本
2016/03/22 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL