展开讨论

经验与复盘经验摘录 · 机器翻译

稍微相关的是,几天前我快速分析了关于lint/format选项的…

稍微相关的是,几天前我快速分析了关于lint/format选项的TypeScript项目,我最终选择了eslint和prettier而不是BiomeJS。主要原因是eslint/prettier更加经过考验,根据Gemini Pro的说法,Biome仍在添加新功能以赶上eslint/prettier,这让我觉得它目前可能不太稳定。但我真正想评论的是eslint,它引导我走上了ESM支持的路径。我不得不反复努力,才能让它与我的TypeScript项目一起工作。该工具提出的解决方案强烈倾向于将我的项目从CommonJS模块重新结构化为较新的ESM。但当我开始走这条路时,我发现它对基于TypeScript的项目非常不友好。我在package.json、tsconfig、vite配置、eslint配置之间来回折腾。大部分问题都与ts-node和esm模块加载器(或类似的东西)有关。最终,它要求我将所有导入的文件名都加上.js扩展名?…

源讨论将 JavaScript 项目从 Prettier 和 ESLint 迁移到 BiomeJS原帖 61 条评论 · 导入时统计
2

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 2

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

SU

ESM其实很简单。问题只是人们不了解基础知识,而工具则被多年的杂乱和不同的行为所困扰。看看TypeScript本身有多少“模块”和“模块解析”行为。 诀窍是重新开始并了解基础知识: - 使用type=module - 使用扩展名导入 - 使用一个合理的共享tsconfig(这是最难的部分) - 不要使用像webpack和jest这样的垃圾工具

完整原文
DH

我经历了和你完全一样的过程,天啊,这很令人沮丧。 最终我确实让一些东西运行起来了,但在过程中我成为了一些我根本不想成为专家的工具的专家。我只是想写我的业务逻辑:') 这让我怀念Java的工具。 更糟糕的是,我认为那些负责这种复杂性的人不可能做得更好。 > 我们从中学到了什么? > 我不知道。 > 那我也不知道。 > 我猜是不要再次这样做...我他妈的知道我们第一次到底做了什么 我想最终所有工具都会趋同到一个事实上的混合模块/CommonJS模块解析标准,大致符合tsx(ts-node的替代品,不是文件扩展名)所做的。

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。