javascript - TypeScript 中的 Import 和 require 有什么不同?

标签 javascript typescript module require es6-modules

我知道如果我想使用另一个文件中的类/模块,importrequire 都可以工作。但是我真的不知道为什么

如果我使用 require ('./config.json') 会起作用, 但是使用 import config from './config.json' 是行不通的。

这是因为 import 只接受类/模块,不能使用 JSON 吗?

我也知道 import 在编译时有效,但 require 在运行时有效。

但是真的很迷茫。

最佳答案

这是两个完全不同的模块系统,因此工作方式不同。

  • import是所谓的“ES 模块”的一部分,即 ES6 带来的模块的原生 javascript 实现。
  • require ,另一方面,是 commonjs 模块系统的 import 关键字。它在今天仍然被广泛使用,因为 Node.js 使用它(在其创建时 JavaScript 规范中没有原生模块系统)。

查看 MDN 上的导入/导出文档和 node.js 网站上的 require 文档。

关于javascript - TypeScript 中的 Import 和 require 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48925741/

相关文章:

typescript - 获取接口(interface)成员类型的联合类型

java - Maven子类共享测试

angular - 在具有多个模块(如 JHipster)的项目中嵌套 Angular 组件

javascript - 使用 CSS/Javascript/Jquery 旋转文本

javascript - 没有定义的 npm 包的 Typescript 导入

javascript - 使用提交事件监听器停止表单提交

javascript - 在 ES5 的转译输出中调用 `this` 之前,TypeScript 应该分配给 `_super` 吗?

python - 包括带有 python 模块的二进制文件,这样做是好的做法吗?

javascript - wicked_pdf 中编号非 1 的页面编号

javascript - react native "is not a function"