使用 Nx 进行 Tailwind 清除,没有 ProjectGraph 错误

Tailwind purge with Nx, no ProjectGraph error

此处的文档:https://nx.dev/l/r/guides/using-tailwind-css-in-react#introducing-nx-utility-for-better-tailwind-purging 建议使用 createGlobPatternsForDependencies(__dirname) 以便于维护。

我使用的是“@nrwl/angular/tailwind”,而不是“@nrwl/react/tailwind”。

当我使用它并触发我的应用程序构建时,出现以下错误:

[createGlobPatternsForDependencies] WARNING: There was no ProjectGraph available to read from, returning an empty array of glob patterns

问:我该如何解决?

我可以 运行 nx dep-graph 并且依赖图生成很好。

编辑:我对此进行了调试,__dirname 文档说 将用于推断父项目和依赖项的工作空间相对目录路径 但后来它在 generate-globs.js 的第 20 行失败,因为 filenameRelativeToWorkspaceRoot 是 '',即它试图找到一个项目名称,但 __dirname 是工作空间名称本身?

所以

purge: createGlobPatternsForDependencies(join(__dirname, 'apps/simple-app')),

不给出 ProjectGraph 错误但是

purge: createGlobPatternsForDependencies(__dirname), 确实

我还 post编辑了 Github,它提出了基于 React 的 Nx 文档的问题。

自从我提出这个问题后,博客 post 已经写了:https://blog.nrwl.io/set-up-tailwind-css-with-angular-in-an-nx-workspace-6f039a0f4479

文档在 Nx 网站上:https://nx.dev/guides/using-tailwind-css-with-angular-projects

但关键学习是每个应用程序有一个单独的 Tailwind 配置文件

您可以使用共享的 Tailwind 配置预设并使用它,但 createGlobPatternsForDependencies 预计是每个应用程序,因此 __dirname 作为项目名称更有意义。 ..

如果此时你仍然得到 [createGlobPatternsForDependencies] WARNING: There was no ProjectGraph available to read from, returning an empty array of glob patterns 那么可能是循环依赖阻止了代码的执行,可以调试 [=33 中的 tailwind.js 文件=]/@nrwl/angular/ 看看。