TypeScript 中的 Import 和 require 有啥不同?
Posted
技术标签:
【中文标题】TypeScript 中的 Import 和 require 有啥不同?【英文标题】:What is different between Import and require in TypeScript?TypeScript 中的 Import 和 require 有什么不同? 【发布时间】:2018-08-02 04:54:47 【问题描述】:我知道如果我想使用另一个文件中的类/模块,import
和 require
都可以工作。但我真的不知道为什么
如果我使用require ('./config.json')
会起作用,
但使用import config from './config.json'
将不起作用。
这是因为 import 只接受类/模块,不能使用 JSON 吗?
我也知道 import 在编译时工作,但 require 在运行时工作。
但真的很困惑。
【问题讨论】:
你在那里回答了你自己的问题。 这个话题很重要。 【参考方案1】:这是两个完全不同的模块系统,因此工作方式不同。
import
是所谓的“ES 模块”的一部分,即 ES6 带来的模块的原生 javascript 实现。
而require
则是commonjs模块系统的import关键字。它今天仍然被广泛使用,因为 Node.js 使用它(在其创建时 JavaScript 规范中没有原生模块系统)。
查看 MDN 上的导入/导出文档和 node.js 网站上的 require 文档。
【讨论】:
以上是关于TypeScript 中的 Import 和 require 有啥不同?的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript - import ... 和 import ... 之间的区别(带花括号)
TypeScript 中 `import from` 和 `import require` 的区别
使用 TypeScript 和 nodemon:SyntaxError:无法在模块外使用 import 语句
Electron 和 TypeScript (electron-builder):“不能在模块外使用 import 语句”