展开讨论

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

几个月前,我决定从零开始写一个TS项目

… 几个月前,我决定从零开始写一个TS项目。说明一下,我有18年的JavaScript经验。我发现最大的入门障碍是配置webpack,让它“刚刚好”。我团队里其他有类似经验的开发者一听到webpack就会眼神涣散,感到烦躁。这是有原因的。我花了好几天才让它正常工作。tsconfig有20个选项可能会影响编译器,但没有好的文档,这是个问题。在React Native项目中,需要两个tsconfig文件,一个用于编译到网页作为次要构建目标,这也是个问题。需要一个经验丰富的开发者花几天时间来配置webpack,这也是个问题。找到正确的配置信息就像盲人领着盲人。关于这个主题的大多数搜索结果都充满了半真半假的信息和无意义的内容。很多开发者依赖现有的webpack配置,如果他们对配置做任何改动,很多时候他们完全无法修复。TypeScript本身没问题。我想是的。

源讨论Figma 迈向 TypeScript 的历程原帖 248 条评论 · 导入时统计
8

这条内容在回应什么?

父级讨论 · 节选

JU

这其实是一个相当有代表性的故事。开始时有一个才华横溢的个人(Evan)建立了一个完整的工具链和产品的核心。然后他们离开了(或被排挤出去,或感到无聊),随着团队(和产品)变得更大,事情被重新平台化为更熟悉、更广泛使用的堆栈。这些步骤的成功在很大程度上取决于组织中的工程文化有多牢固。我怀疑(虽然没有证据!)Evan和其他创始人在Figma建立了出色的工程文化,即使他们某次犯了错误,也有足够的韧性来纠正。他们做得很好!

完整原文

社区评论 0

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

原讨论中的回复 8

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

JU

是的,我唯一做过的一个较大的TS项目(是一个库,供其他团队使用)中,我完全绕过了webpack,而是使用了tsc和esbuild的组合。但知道要避开webpack(甚至知道你可以这样做)本身就是一个障碍。

完整原文
CU

这就是为什么JavaScript框架会存在的原因。Next虽然有缺陷且过于复杂,但Remix基本上是即插即用的,我强烈建议你去试试。

完整原文
HA

tsx、esbuild、Bun、Deno等等……这些都是不需要你使用Webpack就能编写和运行TS的东西。

完整原文
TA

谢谢。你帖子下的回复似乎都是“你应该用X而不是Y”的变体,但当你在进行转译时,你是在招致无数细微的错误和边缘情况。从我的观点来看,如果真的有什么附加价值的话,也几乎不值得这么麻烦。

完整原文
HE

> 我发现最大的入门障碍是配置webpack使其“刚刚好”。 作为一名刚刚花了一周时间尝试将Vite + Rollup集成到ASP.NET网络应用程序中的人,我对此有很多共鸣。 我可以使用原生JavaScript加上一点JQuery来实现我们90%的功能,但要让Vue.JS的某些“现代”功能舒适地融入应用程序中却是一项艰巨的任务。不谈那些细节,感觉就像在盲目的情况下协调一千个移动部件,而背后还有一把名为“要么上线要么死”的枪。 相比之下,EF Core至少给了我日志。C#调试起来很愉快。打印语句可以告诉我需要的信息。这些部分感觉更完整。 但网络技术却如此分散,需要配置的东西太多,当你要做一点非标准的事情时,你就会陷入黑暗,不断尝试配置。…

完整原文
JU

我总是很惊讶地看到,这里有很多基于隐私保护、非微软开源的欧盟中心的SaaS公司,它们使用PHP却完全不关心严格类型。 这导致了我收到的OpenApi规范看起来像这样: type: - string/integer 他们根本不在乎,因为这种垃圾在PHP中也能运行。 他们可以使用: oneOf: - type: string - type: integer 这对类型语言的客户端来说更麻烦,但至少符合规范。 所以感谢你真正关心PHP中的类型。

完整原文
SE

作为一名拥有成功electron应用的独立开发者,我可以肯定地说,从babel+flow+webpack到typescript+webpack的五年多旅程,涉及两个目标(主node和渲染器chromium),更不用说原生模块、node ABI、双package.json、electron本身作为一个巨大的不断变化的基础……这是我开发生涯中最令人畏惧的挑战之一,而我最终走出来了,变得更加坚强和自信。向所有参与的人致敬。

完整原文
WU

那真的很不幸。Webpack 是一个噩梦而且过时了。我不明白你是怎么开始使用它的?Node 有一个不错的入门指南:https://nodejs.org/en/learn/getting-started/nodejs-with-type...(跳过 ts-node,直接使用 tsx)。或者使用 Deno 或 Bun 直接运行你的 TS 代码。现代的前端框架如 Vue 或 Svelte 有自己的工具链,大部分基于 Vite 和 Esbuild。我觉得你只是运气不好,遇到了 Webpack...

完整原文
在 Hacker News 阅读

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

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