typescript 项目中导入第三方库的疑惑
问题
- 在 TypeScript 项目中,是否可以使用 import 和 require 导入第三方库?
- import 和 require 能否同时使用?
- 如何配置才能使用 ESM 和 CJS 模块化引入?
- 打包为 ESM 模块后,是否无法在前端使用 nodejs 的 fs 模块?
回答
导入第三方库
- 是的,在 TypeScript 项目中,可以使用 import 和 require 两种方式导入第三方库。
- 一般情况下不建议同时使用 import 和 require,统一使用 import 即可。
- 使用何种模块化引入方式取决于打包工具的配置,一般情况下,无需手动配置即可使用 ESM 或 CJS 模块化引入。
打包和 NodeJS 模块
- 是的,可以在 TypeScript 项目中同时打包为 ESM 和 CJS 模块。
- 注意:在前端(浏览器)中无法使用 NodeJS 模块,例如 fs 模块。因此,如果 TypeScript 项目中使用了 NodeJS 模块,在将其打包为 ESM 模块后,就不能在前端使用该打包后的库。