导入与打字稿中的要求
当我正在阅读Angular2文档时,我在这里遇到了下面的代码。
SRC / polyfills.ts
import 'core-js/es6'; import 'core-js/es7/reflect'; require('zone.js/dist/zone'); if (process.env.ENV === 'production') { // Production } else { // Development Error['stackTraceLimit'] = Infinity; require('zone.js/dist/long-stack-trace-zone'); }
在上面的代码中,我们可以看到有两个import
语句和require
语句。
“core-js”和“zone.js”都是节点模块。
我的问题是 为什么import
用于core-js, require
“zone.js”,请问有什么具体的原因吗?
使用TypeScript,如果模块有声明文件(参见basarat书中的声明文件),则可以使用import
。
如果没有声明文件,TypeScript编译器不知道这个模块是否存在,所以你需要使用require
而不是编译检查。