如果您希望所有依赖应用程序都使用顺风,您可以使用库中的类并让它们配置 ./node_modules/my-lib/esm2020/**/*.mjs 的内容路径。
它确实在 Ivy 编译文件中找到了内联/转义的类。
esm2020 扫描范围。
如果您希望应用程序在没有尾风的情况下使用它作为依赖项,您可以编译样式并在 css 文件中提供实用程序类。
我建议在您的库下创建一个tailwind.config.js,并将其配置范围设置为仅拾取找到的类/样式,同时关闭preflight,以免对引入您库样式的应用程序产生冲突的样式。仅当您在此项目中有其他应用程序(例如演示/游乐场)时才需要,这将导致顺风引入过多的实用程序类。
如果您有扩展/自定义,您可以创建第三个文件并在它们之间共享配置。
projects/my-lib/tailwind.config.js
module.exports = {
prefix: '',
content: [
'./projects/my-lib/**/*.{html,ts,css,scss}',
],
darkMode: 'class',
theme: {
extend: {
},
},
variants: {
extend: {
},
},
plugins: [],
corePlugins: {
preflight: false,
}
};
注意content 路径仍然是相对于项目根目录的,因为这是它运行的上下文
我建议添加要使用的样式表,即使它只包含 @tailwind utilities;,否则它可能会包含错误的根变量。
projects/my-lib/style.scss
@tailwind utilities;
然后将postbuild 添加到您的顶级package.json 以生成样式表,前提是您使用npm run build 构建库。
"postbuild": "npx tailwind -c projects/my-lib/tailwind.config.js -i projects/my-lib/style.scss -o dist/my-lib/style.css",
直接依赖项目然后包含这个编译的样式表:
@import 'my-lib/style.css'
缺点是您可以从所有组件中获取所有实用程序类,即使它们未使用(使用 tailwind 的项目也是如此,所以还不错。
如果使用tailwind本身,依赖项目可能会产生重复的实用程序类,但我希望他们使用postcss和autoprefixer :)
另外一方面是你的库不需要依赖者有顺风(除非使用一些依赖于 css vars 的实用程序......)。
可能值得尝试提供顺风的base,而不是重置(飞行前)。
请注意,这两个选项都不适用于@apply 功能。