我看到可以导入两种不同的方式模块。
大多数导入看起来像'import {<something>}
(即import { Component } from '@angular/core';
)
其他导入如'import * as <something>
(即import * as _ from "lodash";
)
根据我的理解,当使用 typings (即typings install lodash=npm --save
)而不是 Angular2 模块将vanilla js模块导入项目时,使用后一种方法导入,这是对的吗?
如果我的假设是正确的,你是否以相同的方式使用两个导入的类/模块(即当你声明它们在Components类中使用时)?
答案 0 :(得分:6)
使用import就像该模块中的别名一样,当有两个或多个具有相同名称的导入组件而不使用别名时,有用,后面的组件将覆盖第一个。
可以有多个命名导出:
//------ 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