虽然利用了typescript的最新特性,但是整体来说使用TypeScript的麻烦程度搞得比Angular 1.x复杂太多了。
Angular 1.x用typescript直接引用*.d.ts即可,但是Angular 2.x为了适应CommonJS和AMDloader的标准,甚至需要修改JQuery的源代码才能在typescript当中直接用import {} from 语法正常加载。
Youtube上还有人建议直接declare var jQuery as any, 也是醉了。
其实我并不觉得Angular 2和例子当中配套的NodeJS lite-server是否什么真正意义上的进步,只是在形式上更像react了,变成了“往js里面插入HTML”。
AMDLoader的好处是像requireJS一样,不用在html当中写一长串script列表,缺点就是很多不是按照这个标准写的js库就不能用了。有些js库还自己定义了一套define/require系统,加载时跟AMDLoader就是冲突的。
另外就是Visual Studio对于使用CommonJS规范的import支持不是很好,from后面的字符串都要copy paste过来,上手学的时候是个成本。
--
FROM 110.23.10.*