今天切身体会到了前端的困境。
最近在算学用 strapi 做官网。前端还是 SvelteKit + Tailwind CSS,打算用 Prettier 做 formatter,简单搜了一下,发现 Svelte 和 Tailwind CSS 都有官方的 Prettier 插件。
照着教程用 npm 下插件,然后把教程里的配置代码复制到了 package.json。
试了一下,不对,有问题。
搜了一下,然后发现是 Prettier 和原来 Svelte 的 VSCode 插件有冲突,需要到 setting.json 里改 svelte 默认的 formatter。
重试,.svelte 文件能 format 了,但是 .svelte 文件里的 Tailwind CSS 代码没有 format。
又查了一下,发现是 package.json 里插件的顺序不对,Tailwind 的插件必须放最后。
改完 package.json 文件,再重试,这次对了,没问题了。
2 个小时过去了,啥也没干,就反复改配置文件去了。
复盘一下问题出在哪儿?
首先,肯定不是我的问题。我遇到的每一个问题都能在 Google 里搜到,GitHub 里关于前述这些坑,每一个都有时间跨度 2 年以上的 issue,说明不断有人踩到了同样的坑里。
我觉得问题还是出在前端生态上。
其实,从我学 JS / TS 开始到现在大半年时间,我已经接受了每一个项目里都必须存在配置文件这件事。
配置文件没有问题,问题是前端技术栈上的框架和 toolkit 太多了,每一个还需要相互兼容对方的存在,如果不兼容就没法用。这些眼花缭乱的配置项只是为了兼容而存在的折中方案。
这是我在此前学习 Python 的 1 年多时间里,从未遇到过的问题。
前端娱乐圈,名不虚传 👍。