Novel Editor项目:存在tailwind.config.js却提示找不到模块求助
tailwind-config/tailwind.config.js的问题 问题重现
启动应用时浏览器崩溃,报错:
./styles/globals.css.webpack[javascript/auto]!=!./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[3].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[3].oneOf[12].use[3]!./styles/globals.css
Error: Cannot find module 'tailwind-config/tailwind.config.js'
Require stack:
- /Users/levita/novel/apps/web/tailwind.config.js
执行npx tailwindcss init时收到提示:
tailwind.config.js already exists.
问题原因
该仓库采用TurboRepo monorepo架构,apps/web/tailwind.config.js并非独立的配置文件,它依赖于monorepo中packages/tailwind-config目录下的共享Tailwind配置。单独在apps/web目录启动应用时,Yarn无法正确解析monorepo内部的包路径,且依赖安装过程可能未正确关联共享包。
解决步骤
清理缓存并重新安装所有依赖
回到仓库根目录,执行以下命令:yarn cache clean yarn install确保monorepo中所有子包(包括共享的tailwind配置包)都被正确安装和关联。
通过根目录命令启动应用
不要单独进入apps/web目录启动,直接在根目录执行monorepo统一启动命令:yarn dev这个命令会通过Turbo自动协调所有子包的构建流程,解决内部包的路径解析问题。
(可选)单独启动web应用的前提
如果必须单独启动apps/web,先在根目录构建共享的tailwind配置包:yarn build构建完成后再进入
apps/web目录执行yarn dev。
⚠️ 注意:不要执行npx tailwindcss init,该命令会覆盖现有配置文件,破坏monorepo的共享配置结构。
内容的提问来源于stack exchange,提问作者levita

