2

我可以導入兩種不同的方式模塊。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模塊,是否正確?

如果我的假設是正確的,你是否以同樣的方式使用兩個導入的類/模塊(當你聲明它們在一個組件類中使用)?

回答

5

使用導入作爲東西就像在該模塊中的別名一樣,當有兩個或多個導入的組件具有相同的名稱,不使用別名時很有用,後面的組件將覆蓋第一個。

可以有多個命名出口:

//------ 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