vuejs2 - Tailwindcss @apply 指令在 vue 组件中不起作用

标签 vuejs2 laravel-8 tailwind-css jetstream inertiajs

我为我的新项目问题创建了一个带有 jetstream 和惯性 vue 堆栈的 Laravel 应用程序 Tailwindcs版本 2 使用 postCss并且它不支持 @apply vue 组件内的指令,但在 .css 内文件它工作正常我不想要那个,因为那个 css 文件会加载我的每个页面我只想要短的内联实用程序类 @apply指令,但我不能,我怎样才能做到这一点。?
在我的 vue 模板中

<template>
 <div class="mt-4">
  <label for="hello">Hello</label>
  <input id="hello" class="input"/>
 </div>
</templete>

<style scoped>
    .input {
        @apply bg-gray-200 border h-10
    }
</style>
像这样在浏览器中输出
enter image description here
webpack.mix.js
const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js').vue()
    .postCss('resources/css/app.css', 'public/css', [
        require('postcss-import'),
        require('tailwindcss'),
        require('autoprefixer'),
    ])
    .webpackConfig(require('./webpack.config'));

if (mix.inProduction()) {
    mix.version();
}
webpack.config.js
const path = require('path');

module.exports = {
    resolve: {
        alias: {
            '@': path.resolve('resources/js'),
        },
    },
};
tailwind version : "^2.0.1",
laravel version : 8.x,
jetstream version : 2.x,
inertiajs version: "^0.8.2"

最佳答案

您必须设置 lang="postcss" <style> 上的属性标记为 Tailwind 是一个 PostCSS 插件。
所以改变这个

<style scoped>
    .input {
        @apply bg-gray-200 border h-10
    }
</style>
对此
<style lang="postcss" scoped>
    .input {
        @apply bg-gray-200 border h-10
    }
</style>

关于vuejs2 - Tailwindcss @apply 指令在 vue 组件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65739676/

相关文章:

vue.js - 在重复内容区域添加 <slot>

javascript - Vee 验证在 vue 设置后获取先前的值

laravel - 更改 Laravel 8 凭证匹配验证的错误键?

php - 使用 laravel builder 进行 JSON 列查询

javascript - Vue.js - 多条件类绑定(bind)

javascript - Vue.js 2、在css中使用自定义组件标签名?

php - 拉拉维尔 8 : Custom Middleware Does Not Seem To Be Working

javascript - Tailwind CSS 颜色不适用于下一个 js 组件。你如何应用背景颜色?

grid - (TailwindCSS) 如何在网格中制作列分隔线

autocomplete - PhpStorm 中的 TailwindCSS 自动完成功能不起作用