选用TypeScript开发AngularJS2[通俗易懂]

选用TypeScript开发AngularJS2

大家好,又见面了,我是全栈君。

  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-SeedAngular-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账号...

(0)
blank

相关推荐

  • centos7 输入 ifconfig 不显示 ip 地址 连接不上的解决方法(亲测成功)「建议收藏」

    centos7 输入 ifconfig 不显示 ip 地址 连接不上的解决方法(亲测成功)「建议收藏」最近又把自己的虚拟机打开了玩玩集群,遇到一个小问题,我发现虚拟机的内存不够了,就把虚拟机关机加大了内存,谁知道开机后,ifconfig或者ipaddr显示没有ip地址,只显示一个lo,没有ens33,没有ip地址就没法用xshell连接,很蛋疼,网上也有很多解决方案,但都写的乱七八糟的,而且很多都不好使,今天就来介绍一下我最后解决的方法.我说一下我的虚拟机的情况,我三台虚拟机,之前是mas………

    2022年10月23日
  • 提升苹果电脑速度的10个小技巧[通俗易懂]

    提升苹果电脑速度的10个小技巧[通俗易懂]众所周知,随着时间的流逝,包括Mac在内的所有计算机的速度都会降低。除了换电脑,还是有许多简单的调整可以提高计算机的性能并加快运行速度较慢的Mac,而且这些调整不会花费一分钱。1.升级macOS许多人仍然相信操作系统升级的神话总是会降低计算机的速度。尽管有时它们在旧Mac可能会出现性能问题,但这些更新通常弊大于利。它们包括错误修复,修补程序和改进,这些改进通常会提高Mac的速度。这些操作系统更新文件可能很大。因此,如果硬盘驱动器空间不足,则可能需要先释放硬盘空间。2.释放硬盘空间当您的存储驱动器达到其

  • 面试题 HashMap 数据结构 实现原理

    面试题 HashMap 数据结构 实现原理数据结构HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组:数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表:链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那

  • JavaScript闭包函数

    JavaScript闭包函数JavaScript闭包函数1概述2词法作用域3闭包1概述一个函数和对其周围状态(词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在JavaScript中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。2词法作用域请看这段代码:functioninit(){varname=”Mozilla”;//name是一个被init创建的局部变量

  • vlookup函数的使用方法模糊查找_重复图片查找软件

    vlookup函数的使用方法模糊查找_重复图片查找软件Navicat使用教程:如何用非唯一键识别重复项

  • navcat15激活码_在线激活

    (navcat15激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号