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 
+0

,谢谢,我觉得自己像个白痴,在*还挺给出了一个客场。 – garrettmac