繁体   English   中英

试图了解“module”和“moduleResolution”的不同之处,

[英]Trying to understand how "module" & "moduleResolution" differ,

我不明白为什么同时存在"module""moduleResolution"设置。

我一直认为一个模块只不过是一个规范(和/或标准) ,它定义了软件包“解析”“解析”的方式,其他软件包遵循相同的规范(和/或标准)

也许这是一个准确的看法,也许不是,无论哪种方式,我都看不出有任何理由分别配置module类型和moduleResolution 我不是在这里批评 TypeScript,我 100% 肯定地知道,我是缺乏的人,而不是 TypeScript。 我只是想对如何配置我的 TypeScript 项目有一个基本的了解。


  1. “模块”和“模块分辨率”有什么区别?

  2. tsconfig.json设置module如何影响项目正在导入的模块(或包)? 它对 TypeScript 编译器tsc转换和发出的 JavaScript 有什么影响?

  3. tsconfig.json设置moduleResolution如何影响项目导入的模块(或包)? 它对 TypeScript 编译器tsc转换和发出的 JavaScript 有什么影响?

moduleResolution确定用于查找/解析模块的算法,例如查看node_modules或搜索相对路径

module确定使用的导入/导出类型-

// CommonJS
const zip = require("./ZipCodeValidator");

// ES2020
import { valueOfPi } from "./constants";

对于module node12/nodenext

node12/nodenext(夜间构建) 在夜间构建中可用,实验性的 node12 和 nodeext 模式与 Node 的原生 ECMAScript 模块支持集成。 发出的 JavaScript 使用 CommonJS 或 ES2020 输出,具体取决于文件扩展名和最近的 package.json 中类型设置的值。 模块分辨率的工作方式也不同。 您可以在手册中了解更多信息

node16的文档有点落后,但正在更新

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM