如何将 tailwindcss 添加到 KotlinJS
How to add tailwindcss to KotlinJS
我无法将 tailwindcss 库添加到我的 KotlinJS 项目中。我尝试了很多东西。
我在 build.gradle.kts
中定义了多个依赖项
implementation(npm("postcss", "latest"))
implementation(npm("postcss-loader", "latest"))
implementation(npm("tailwindcss", "1.8.10"))
我尝试在我的 webpack.config.d 中创建 tailwindcss.js 内容
config.module.rules.push({
test: /\.css$/i,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [
[
'tailwindcss'
],
],
},
},
}
]
}
);
但这没有任何作用。我也尝试用多个选项修改它,但我永远无法编译 tailwindcss。我还尝试在 build.gradle.kts
中禁用和启用 KotlinJS CSS 支持
我找不到任何关于如何将 postcss 添加到 KotlinJS 项目的信息。
感谢您的帮助。
可以使用 node-gradle 插件实现基本集成。
在你的build.gradle.kts
中:
plugins {
id("com.github.node-gradle.node") version "3.0.0-rc2"
}
还在 build.gradle.kts
中定义一个名为“tailwindcss”的任务,它通过 npx 调用 tailwind CLI。例如:
val tailwindCss = tasks.register<com.github.gradle.node.npm.task.NpxTask>("tailwindcss") {
// Output CSS location
val generatedFile = "build/resources/main/static/css/tailwind-generated.css"
// Location of the tailwind config file
val tailwindConfig = "css/tailwind.css"
command.set("tailwind")
args.set(listOf("build", tailwindConfig, "-o", generatedFile))
dependsOn(tasks.npmInstall)
// The location of the source files which Tailwind scans when running ```purgecss```
inputs.dir("src/main/kotlin/path/to/your/presentation/files")
inputs.file(tailwindConfig)
outputs.file(generatedFile)
}
最后,在 build.gradle.kts
中将任务绑定到您的 processResources 步骤,以便它 运行 自动执行。请注意,您可能希望稍后对其进行优化,因为每次调用 processResources 步骤时 运行顺风会减慢您的开发周期。
tasks.processResources {
dependsOn(tailwindCss)
}
现在我们需要在您项目的根目录中有一个最小的 package.json
。例如:
{
"name": "MyProject",
"devDependencies": {
"tailwindcss": "^1.7.0"
}
}
最后,我们在我们的 NpxTask 定义的位置配置顺风配置,在示例中```css/tailwind.css"
@tailwind base;
@tailwind components;
@tailwind utilities;
现在在 processResource 步骤 运行 之后,gradle 将调用 Tailwind npx 任务,使用您的源并将 CSS 写入您指定的位置。
已接受的答案似乎不再有效。此外,使用 Node Gradle 插件不是最佳选择(KotlinJS 已经维护了自己的 package.json
和 yarn
安装)。
我设法让 Tailwind 与 KotlinJS 一起工作,感谢 this repository (GitHub) with a few small updates that you can find here (GitLab)。
我无法将 tailwindcss 库添加到我的 KotlinJS 项目中。我尝试了很多东西。
我在 build.gradle.kts
中定义了多个依赖项implementation(npm("postcss", "latest"))
implementation(npm("postcss-loader", "latest"))
implementation(npm("tailwindcss", "1.8.10"))
我尝试在我的 webpack.config.d 中创建 tailwindcss.js 内容
config.module.rules.push({
test: /\.css$/i,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [
[
'tailwindcss'
],
],
},
},
}
]
}
);
但这没有任何作用。我也尝试用多个选项修改它,但我永远无法编译 tailwindcss。我还尝试在 build.gradle.kts
中禁用和启用 KotlinJS CSS 支持我找不到任何关于如何将 postcss 添加到 KotlinJS 项目的信息。
感谢您的帮助。
可以使用 node-gradle 插件实现基本集成。
在你的build.gradle.kts
中:
plugins {
id("com.github.node-gradle.node") version "3.0.0-rc2"
}
还在 build.gradle.kts
中定义一个名为“tailwindcss”的任务,它通过 npx 调用 tailwind CLI。例如:
val tailwindCss = tasks.register<com.github.gradle.node.npm.task.NpxTask>("tailwindcss") {
// Output CSS location
val generatedFile = "build/resources/main/static/css/tailwind-generated.css"
// Location of the tailwind config file
val tailwindConfig = "css/tailwind.css"
command.set("tailwind")
args.set(listOf("build", tailwindConfig, "-o", generatedFile))
dependsOn(tasks.npmInstall)
// The location of the source files which Tailwind scans when running ```purgecss```
inputs.dir("src/main/kotlin/path/to/your/presentation/files")
inputs.file(tailwindConfig)
outputs.file(generatedFile)
}
最后,在 build.gradle.kts
中将任务绑定到您的 processResources 步骤,以便它 运行 自动执行。请注意,您可能希望稍后对其进行优化,因为每次调用 processResources 步骤时 运行顺风会减慢您的开发周期。
tasks.processResources {
dependsOn(tailwindCss)
}
现在我们需要在您项目的根目录中有一个最小的 package.json
。例如:
{
"name": "MyProject",
"devDependencies": {
"tailwindcss": "^1.7.0"
}
}
最后,我们在我们的 NpxTask 定义的位置配置顺风配置,在示例中```css/tailwind.css"
@tailwind base;
@tailwind components;
@tailwind utilities;
现在在 processResource 步骤 运行 之后,gradle 将调用 Tailwind npx 任务,使用您的源并将 CSS 写入您指定的位置。
已接受的答案似乎不再有效。此外,使用 Node Gradle 插件不是最佳选择(KotlinJS 已经维护了自己的 package.json
和 yarn
安装)。
我设法让 Tailwind 与 KotlinJS 一起工作,感谢 this repository (GitHub) with a few small updates that you can find here (GitLab)。