Angular入门-Hero Editor抽丝

一.找入口

每样新的事物在我们看来,很多情况就像是看到一颗蚕茧,千丝万缕必须找出丝头,才能牵出一连串的结果。在这之前我们已经了解了Angular和TypeScript,并做了笔记以备学习查询,这便清理掉了一些杂丝。接下来,我们很容易找到了丝头,就是Angular简介中,目录介绍里说的,程序的运行配置文件:
.angular-cli.json

1.找到“main”入口程序是main.ts,如下图:

main程序入口

2.进入main.ts文件中,我们看到引导的主模块为AppModule,

main中跳转到主模块

3.按F12(Angular Language Service 有介绍,以后关于编辑中的快捷键,请查阅此链接)即可直接进入到此模块文件中:

这里写图片描述

二、提问题

看到这个文件,初次接触,有很多问题需要解决

  1. 1.import xx from xx,这是什么模块定义呢?

  2. @开头的是什么变量?只是命名习惯吗?

  3. export 一个空类?不对,上面@NgModule一大段代码肯定有玄机。

那我就一个一个去寻找答案
**1.**TypeScript中介绍到JavaScript模块加载器是服务于Node.js的 CommonJS和服务于Web应用的Require.js,那这里应该是遵循Require.js,可是Require.js引用模式是:

    require([module], callback);

到这里提到ES6,涉及import,export,好吧,ES6又要fork到Angular的学习中。
这里写图片描述
先不管其他,涉及什么学什么,先来看看ES6怎么说的ES6 Module
原来ES6在语言标准层面上实现了更简单的模块功能,取代了CommonJS和AMD规范。优越在于:ES6模块不是对象,不需要在运行时才能知道引入的参数是否正确,而是在编译的时候静态得到。叫做“静态加载”/“编译时加载”.也就是在编译的时候就能完成模块加载,效率更高。
2. Typescript中看到装饰器,就是带@前缀的。而装饰器并不是TS定义的,是ES6就定义的,用来修改类的行为(在我看来并不是修改行为,而是改变类,它的属性、方法等,具体请看ES6官网)。
3.第2个问题解决了,第3个问题也就迎刃而解了。这个导出的不是空类,而是被修饰了的类,是有东西滴。好了,现在丝牵到这里,又有新问题了:

4.这个NgModule修饰器,如何对类有什么影响呢?(请看下一篇《Angular入门-装饰器》)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值