前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端开发工程化之angular打造spa应用

前端开发工程化之angular打造spa应用

作者头像
kl博主
发布2023-11-18 10:01:56
1480
发布2023-11-18 10:01:56
举报
文章被收录于专栏:kl的专栏kl的专栏

前言碎语

ps:这篇博文是博主在公司内部分享的一个流程梳理的文档,仅供参考

soa/微服务架构,前后端分离,前后端通过http通讯json交换数据这个是未来的趋势

后端开发我们都熟悉,今天分享前端开发工程化?

软件开发,从无到有,从陌生到熟悉,怎么最快的上手开发呢?我觉得应该了解他的开发方式,重要的事情三遍,开发方式,开发方式,开发方式!

然而所谓的spa单页面应用如何工程化开发,他的开放方式如何呢,请继续看下文,使用angular打造spa应用

1.相关的关键字(yeoman,node,npm,bower,grunt,gulp,ruby,gem,scss,compass)

yeoman : google开发的项目构造器,项目打造神器

node.js : 是服务器端Javascript运行环境(runtime),

npm :是NodeJS包管理和分发工具

bower: 是js/css的包管理和分发工具

grunt/gulp: 前端项目构建工具(压缩js图片,打包项目)

ruby :脚本语言

gem :ruby的包管理和分发工具

scss :css预处理器,丰富css的语法

compass :ruby的一个包,scss的预处理需要这个组件支持

2.工作环境搭建

(1)安装node 下载安装

(2)安装yeoman    ( npm install -g yo)

(3)安装grunt/gulp (npm install -g gulp/grunt)

(4)安装bower     ( npm install -g bower )

(5)安装angular生成器(npm install -g generator-jhipster)

  ps:如果使用了scss,需要安装ruby环境,以及compass包

(6)安装ruby 下载安装

(7)安装compass (gem install sass compass)

3.使用yeoman指令yo angular 搭建项目骨架,

yeoman搭建的项目骨架一般都是热门技术的一些最佳实践,如generator-react-webpack(react-webpack应用),

JHipster generator(spring boot+angular微服务应用)当然还有今天要分享的generator-angular(angular的spa应用)

4.分析yeoman生成的骨架,四个重要的点

(1)app目录 

      我们的工程业务文件目录,下面有四个文件夹,images(图片资源目录),scripts(脚本资源目录),styles(样式目录),view(html视图目录),

      以及你的spa应用入口文文件index.html

(2)bower.json  (js依赖描述文件,需要第三方js组件,直接写在这个文件即可)使用 bower install下载依赖到本地bower_components文件夹下

(3)package.json (grunt构建依赖的组件描述文件,如grunt-contrib-watch,grunt-contrib-cssmin等)使用npm install 下载依赖到本地node_modules文件夹下

(4)Gruntfile.js (grunt构建任务描述文件,如,serve,build)

5.angular的常用相关概念

controller: 视图控制器,作用于一对标签内的视图

service :注册服务(Factory,Service,Provider),可在Controller中注入使用

Filter :过滤器,做枚举数据的转换等,内置过滤器(date,number,lowercase,uppercase,limitTo等)

directive :指令,通用组件开发,操作DOM对象,丰富的内置指令(ng-if,ng-class,ng-repeat,ng-bind,ng-click,ng-show,ng-hide等等)

constant :全局常量对象,定义配置内容

$scope : controller作用域内的数据绑定

$rootScope: $scope对象的父作用域,作用于所有的Controller

$stateProvider :路由器,可以类比spring mvc的HandlerMapping,它可以定义url和resource(Controller,view)的关系

还有很多诸如(事件监听注册,拦截器)等概念,angular内容远不止这些,而且还有很多第三方扩展,这些都有待我们开发的时候去发现

6.app下scripts文件结构讨论

两种:

 1.按业务功能点划分,相关的功能的Controller和service都放一起

 2.按资源服务定义划分,controller和service分开,在各自按业务模块组织

7.angular 拓展整理

图表数据展示:angular morris chart https://angular-morris-chart.stpa.co/

http请求进度条 angular-loading-bar https://github.com/chieffancypants/angular-loading-bar/

左右滑块 angular.panels https://github.com/eu81273/angular.panels

文件上传 ng-file-upload  https://github.com/danialfarid/ng-file-upload

angular扩展大全 https://github.com/angular-ui 其中 http://angular-ui.github.io/bootstrap/ 项目基本能解决90%以上的问题

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档