Angular2导入语法:“import * as ”vs“import {}”
问题描述:
我可以导入两种不同的方式模块。Angular2导入语法:“import * as <foo>”vs“import {<foo>}”
大多数进口样子'import {<something>}
(即import { Component } from '@angular/core';
)
其他人导入像'import * as <something>
(即import * as _ from "lodash";
)
从我了解你使用进口香草JS模块集成到你的项目时,导入使用后一种方法typings(即typings install lodash=npm --save
)而不是Angular2模块,是否正确?
如果我的假设是正确的,你是否以同样的方式使用两个导入的类/模块(即当你声明它们在一个组件类中使用)?
答
使用导入作为东西就像在该模块中的别名一样,当有两个或多个导入的组件具有相同的名称,不使用别名时很有用,后面的组件将覆盖第一个。
可以有多个命名出口:
//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
export function diag(x, y) {
return sqrt(square(x) + square(y));
}
//------ main.js ------
import { square, diag } from 'lib';
console.log(square(11)); // 121
console.log(diag(4, 3)); // 5
You can also import the complete module:
//------ main.js ------
import * as lib from 'lib';
console.log(lib.square(11)); // 121
console.log(lib.diag(4, 3)); // 5
,谢谢,我觉得自己像个白痴,在*还挺给出了一个客场。 – garrettmac