选用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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108386.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月4日 下午4:00
下一篇 2022年3月4日 下午5:00


相关推荐

  • 使用ComponentOne C1WebGrid控件「建议收藏」

    使用ComponentOne C1WebGrid控件「建议收藏」作者:SinoryComponentOne.Studio.Enterprise.2006中的(C1StudioAspNET2_T106)是著名的C1开发的针对ASP.NET2.0的一套控件库.为ASP.NET开发人员提供了功能丰富的Web开发组件。包括个表格,报表,图表,数据,用户界面和电子商务组件等支持.C1WebGrid是其中最基本的控件之一.下面介绍它的具体应用方法:添加引用:<…

    2022年10月6日
    4
  • ubuntu安装pip3_ubuntu查看python包

    ubuntu安装pip3_ubuntu查看python包ubuntu安装pip一、pip是什么二、pip命令行安装三、源文件安装四、出现的报错我的环境:ubuntu18.04一、pip是什么简单来时:pip是Python中的标准库管理器。它允许你安装和管理不属于Python标准库的其它软件包。二、pip命令行安装安装:sudoaptinstallpython3-pip更新:pip3install–upgradepip验证:pip-V三、源文件安装如果上面的方法失效后,可以使用这种编译源码的方法:1、安装set

    2025年8月20日
    14
  • qt服务器主动断开tcp连接_qtcpsocket 多线程

    qt服务器主动断开tcp连接_qtcpsocket 多线程简述对于一个C/S结构的程序,客户端有些时候需要实时得知与服务器的连接状态。而对于客户端与服务器断开连接的因素很多,现在就目前遇到的情况进行一下总结。分为下面六种不同情况客户端网线断开客户端网络断开客户端通过HTTP代理连接服务器,代理机器断开代理客户端通过HTTP代理连接服务器,代理机器的网络断开客户端通过HTTP代理连接服务器,代理机器的网线断开服务器断开同时对于以上六种情况又分为连接服务器之…

    2025年10月12日
    4
  • python3获取cookie(python默认用什么浏览器爬取)

    http://blog.csdn.net/pipisorry/article/details/47980653爬虫爬网站不免遇到需要登录的问题.登录的时候可能还会碰到需要填验证码的问题,有的验证码甚至是拖动拼图来完成的.虽然现在这些都有开源解决方案,但是假设现在主要的精力想要放在如何解析html,或者验证抓取算法上,而不是通过登录验证上,那么开源解决方案并不是最好的解决方案.更好

    2022年4月16日
    173
  • Navicat Premium 15.0.26 MacOS[通俗易懂]

    Navicat Premium 15.0.26 MacOS[通俗易懂]Navicatpremium是一款强大的数据库管理软件,使用它可以轻松连接到MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL数据库,让管理不同类型的数据库更加的方便。有了NavicatPremium,您不再需要为不同的数据库而切换不同的数据库工具。NavicatPremium结合了其他Navicat成员的功能。有了这种连接到不同数据库的能力,它可以在MySQL、SQLite、Oracle、MariaDB、Mssql、及PostgreSQL之间进行数据传输,同

    2025年9月29日
    74
  • cs和bs比较_cs和bs的区别与联系

    cs和bs比较_cs和bs的区别与联系今天学习了bs和cs两个体系,分享一下。

    2025年10月16日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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