@应用不在Laravel Mix中的Vue组件内部工作
我在Laravel中使用Tailwind CSS和VueJS组件,如下所示@应用不在Laravel Mix中的Vue组件内部工作,laravel,vue.js,webpack,laravel-mix,tailwind-css,Laravel,Vue.js,Webpack,Laravel Mix,Tailwind Css,我在Laravel中使用Tailwind CSS和VueJS组件,如下所示 <template> </template> <script> </script> <style lang="postcss" scoped> .day-disabled { @apply text-gray-400; } </style> 在使用Laravel Mix的VueJS组件中,是否仍然可以使
<template>
</template>
<script>
</script>
<style lang="postcss" scoped>
.day-disabled {
@apply text-gray-400;
}
</style>
在使用Laravel Mix的VueJS组件中,是否仍然可以使用@apply
指令。这是我的webpack.mix.js
const mix = require('laravel-mix');
mix.options({ extractVueStyles: true})
.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
require('tailwindcss'),
require('postcss-nested'),
require('postcss-custom-properties'),
require('autoprefixer')
]);
是否仍有解决此问题的方法。似乎这可能是Laravel Mix中的一个错误,请参阅 尝试将以下内容添加到混合配置():
要使上述答案有效,请确保创建一个
postsss.config.js
文件(如果您还没有),并将此代码片段粘贴到其中
const purgecss = require('@fullhuman/postcss-purgecss')({
content: [
'./resources/**/*.vue',
'./resources/**/*.js'
],
whitelistPatterns: [ /-(leave|enter|appear)(|-(to|from|active))$/, /data-v-.*/, /v-deep/ ],
whitelistPatternsChildren: [ /pretty$/, /xmx-.*$/, /^(.*?)\.tooltip/ ],
defaultExtractor: content => content.match(/[\w-/.:]+(?<!:)/g) || []
})
module.exports = {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
...process.env.NODE_ENV === 'production' ? [purgecss] : []
]
}
const purgecss=require(“@fullhuman/postcss purgecss”)({
内容:[
“./resources/***.vue”,
“./resources/***.js”
],
白名单模式:[/-(离开|输入|出现)(|-(到|从|激活))$/,/data-v-.*/,/v-deep/],
whitelistPatternsChildren:[/pretty$/,/xmx-.*$/,/^(.*?\)。工具提示/],
defaultExtractor:content=>content.match(/[\w-/.:]+(?)?
这是源代码如果您在Vue中使用单文件组件,您可能还需要Vue加载程序。错误是关于。日间禁用的不是@apply
我有。如果我删除了@apply everything works。不太熟悉POSTSS,但您需要require('postsss-apply')吗
在您的混合选项中?我不确定。但假设我不需要它,因为它适用于Vue组件之外的CSS。为了正确工作,您还需要使用tailwind团队提供的代码在根文件夹中创建一个名为postss.config.js的postsss配置文件。已确认适用于Laravel mix 7+Vue 3+T东风2.0
.webpackConfig({
module: {
rules: [
{
test: /\.(postcss)$/,
use: [
'vue-style-loader',
{ loader: 'css-loader', options: { importLoaders: 1 } },
'postcss-loader'
]
}
],
},
})
const purgecss = require('@fullhuman/postcss-purgecss')({
content: [
'./resources/**/*.vue',
'./resources/**/*.js'
],
whitelistPatterns: [ /-(leave|enter|appear)(|-(to|from|active))$/, /data-v-.*/, /v-deep/ ],
whitelistPatternsChildren: [ /pretty$/, /xmx-.*$/, /^(.*?)\.tooltip/ ],
defaultExtractor: content => content.match(/[\w-/.:]+(?<!:)/g) || []
})
module.exports = {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
...process.env.NODE_ENV === 'production' ? [purgecss] : []
]
}