大佬教程收集整理的这篇文章主要介绍了用于导入commonjs / amd模块的新es6语法,即`import foo = require('foo')`,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
正确的方法是继续使用旧的导入语法。新的导入语法仅适用于ES模块,而旧的导入语法仅适用于ES6之前的模块。两者是截然不同的,有意如此。 。
来自功能的设计者:
export default
始终具有ES模块的语义。为了与Babel兼容,我们可以选择__esModule
在模块具有默认导出功能时发出标记,但是实际上我们不会将该标记用作任何对象。export =
始终将声明替换为要导出的其他实体代替模块本身的声明@H_861_8@module.exports。在使用的模块中包含其他导出是错误的export =
。这是现有的TypeScript行为。export =
导出另一模块(是内部或外部模块)可以使用新ES6构建体被导入。特别是,方便的解构导入可以与此类模块一起使用。export =
用于导出另一个模块的模式在.d.ts文件中很常见,该文件提供了内部模块的Commonjs / AMD视图(例如angular.d.ts)。 TypeScript编译器在某个时候开始允许import * as foo from 'legacy-module-
foo'
在某些情况下获取旧版模块的默认导入。 (第15.2.1.16节,“值“ *”表示导入请求是针对目标模块的 名称空间对象。“)。
当您以这种方式导入的旧版模块更新为ES6模块时,这些模块的“默认”导入将停止工作(因为* as foo
导入 应该 是在导入名称空间对象),如果您不知道这样做,可能会造成极大的混乱这是一个TypeScript / SystemJs
Hack。将来TypeScript对ES规范的重新调整也有可能导致它们中断。
因此,您可能更希望继续使用上述的旧版导入语法来加载旧版模块,以避免使您自己和其他开发人员就您的代码对ES6名称空间导入的工作方式感到困惑,并避免使变更令人困惑。
以上是大佬教程为你收集整理的用于导入commonjs / amd模块的新es6语法,即`import foo = require('foo')`全部内容,希望文章能够帮你解决用于导入commonjs / amd模块的新es6语法,即`import foo = require('foo')`所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。