大家好,又见面了,我是全栈君。
AngularJS开发模式可以有多种方案,本人选择以下的方案目标解决下面几个目的:
1. 强类型语言使用惯了,养成了一些习惯,在javascript这在弱类型语言开发中常常掉坑。
2.面向对象的那套思维模式已经根深蒂固,javascript的面向对象是模拟实现的,好多地方绕不过弯在所难免。
基于上面这两个理由,选择TypeScript语言,水到渠成。对于从java转到前台开发的人来说,简直是意外啊。
3.前端模块化开发一直是我这样的懒人的理想。内心真实话是这样:javascript、css让界面渲染和控制数据分开,回归当年CS应用开发模式,或许也是萦绕心头很久的一种幻想吧。
4.MVVM模式让前端进入有搞头的新时代。
简单写点攻略,抛砖引玉:
首先,TypeScript相关
TypeScript仍然是一种解释型语言,TypeScript语言的源码编译后成了符合AngularJS2框架标准的Javascript代码,本质上就是要将TypeScript源码编译成Javascript代码。另外Nodejs是基于Chrome内核的,这样可能某些地方直接跳过javascript,直接调用Chrome内核的API也是有可能存在的。题外话,国内也出现了若干浏览器,什么QQ浏览器、UC浏览器等等,根据传闻也不过是拿了人家的内核,在此基础上构造了界面和小动作,然后就堂而皇之地吹起来说是国产浏览器了,这些都是狗皮膏药。有本事拿着HTMIL5、ES6等等标准实现一个自己的浏览器内核,那才是真正的浏览器。
TypeScript语言的开发环境,首选当然是微软定身量做的Visual Code,毕竟TypeScript也是微软开源的一种语言嘛。说到这儿,很多事情就是明白的了,语言本身没有什么特别,只有好用不好用的区别,解析后的目标代码跟语言就没什么关联了,而目标代码调用的API后面依然可以是藏着很多密码的,如此,自己实现一遍浏览器的内核还是很有必要的。TypeScript的开发工具还可以选择Atom、Sublime Text等,详见:http://www.typescriptlang.org/index.html#download-links
AngularJS用TypeScript开发,需要搭建一个脚手架。脚手架这个词用在这儿,最恰当不过了。因为它基于NodeJS环境开发、编译等,同时使用NodeJS生态里的各种工具,比如npm包管理工具等。因此要将这些基本环境(主要是一些配置文件)事先生成。常用的脚手架有Angular-Seed和Angular-cli。
Angular-seed采用Gulp框架编译TypeScript,据说这个Gulp也是很牛叉的框架,采用非阻塞流来处理要编译源码字符流,有空确实要深入了解一下。
Angular-cli是AngularJS框架原生的脚手架,并且当下似乎已经完成了1.0版本,然后移动到了@angular/cli中,和AngularJS融为一体了。因此安装Angular-cli的命令已经改成:
npm install -g @angular/cli
详情请看: https://github.com/angular/angular-cli
脚手架搭建好,就可以正式干活。脚手架搭建运行如下命令:
ng new PROJECT-NAME cd PROJECT-NAME ng serve
就这三板斧,新建你的工程,新建成功之后,文件夹下就有了各种配置文件,当然若觉得不够,则继续添加。
另外,ng命令还可以自动新建模块、组件、指令等模板文件,当然也可以自己手工新建这些文件。详情请见: https://github.com/angular/angular-cli#generating-components-directives-pipes-and-services
在OSCHINA的码云上开了一个项目,你可以直接克隆下来作为脚手架: https://git.oschina.net/dayu/angularjs2-lib-base
若有更多想法,不妨提交上来大家共享共利之。
转载于:https://my.oschina.net/dayu6/blog/1093881
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108386.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...