我习惯于这个TypeScript导入语句,它导入"组件"来自" angular / core"模块:
import {Component} from '@angular/core';
但我也看过其他导入语句,如:
import 'core-js/es6/symbol';
第二个人到底做了什么?
答案 0 :(得分:2)
在文档中称为Import a module for side-effects only:
虽然不推荐练习,但有些模块设置了一些全局状态 可以被其他模块使用。这些模块可能没有 出口,或消费者对他们的任何出口都不感兴趣。
在您发布的示例中,此导入可能会添加Symbol
es6 polyfill,以便编译器即使没有定位es6也能找到它
答案 1 :(得分:1)
第二个引用javascript文件,在这种情况下\node_modules\core-js\es6\symbol.js
,并且该文件中的任何导出语句都将加载到您的程序中。
symbol.js看起来像这样:
require('../modules/es6.symbol');
require('../modules/es6.object.to-string');
module.exports = require('../modules/_core').Symbol;
所以你从_core.js模块中获取.Symbol对象。