Локальный @import не приводит к подстановке текста
Я следил за этим видео и chrissainty / ondotnet-tailwindcss, чтобы настроить Tailwind с помощью JIT, и я очень счастлив!
Однако я хотел воспользоваться возможностью включения нескольких файлов css. Вот что мой
app.css
похоже:
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
@import "./other.css";
Однако в сгенерированном css я вижу сгенерированный код для Tailwind, но не для моего
other.css
- это все еще
@import "./other.css"
. Вот моя структура папок:
./Styles/app.css
./Styles/other.css
./package.json
./postcss.config.js
./tailwind.config.js
Это моя команда postcss:
cross-env TAILWIND_MODE=build postcss ./Styles/app.css -o ./wwwroot/css/app.css
Я предполагаю, что проблема связана с текущим рабочим каталогом? Я пробовал следующие варианты для своего
@import
утверждение:
@import ./Styles/other.css
@import ../Styles/other.css
@import Styles/other.css
Но подстановки текста не происходит. Я пробовал это с и без
postcss-import
в
devDependencies
из .
На всякий случай я включил содержимое конфигурационных файлов.
package.json
:
{
"scripts": {
"buildcss:dev": "cross-env TAILWIND_MODE=build postcss --verbose ./Styles/app.css -o ./wwwroot/css/app.css",
"buildcss:release": "cross-env NODE_ENV=production postcss ./Styles/app.css -o ./wwwroot/css/app.css"
},
"devDependencies": {
"autoprefixer": "10.3.1",
"cross-env": "7.0.3",
"cssnano": "^5.0.6",
"postcss": "8.3.6",
"postcss-cli": "8.3.1",
"postcss-import": "^14.0.2",
"tailwindcss": "2.2.7"
},
"dependencies": {
"@tailwindcss/forms": "^0.3.3"
}
}
postcss.config.js
:
// postcss.config.js
const purgecss = require('@fullhuman/postcss-purgecss')({
// Specify the paths to all of the template files in your project
content: [
'./**/*.html',
'./**/*.razor'
],
// Include any special characters you're using in this regular expression
defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || []
})
// postcss.config.js
module.exports = {
plugins: [
require('postcss-import'),
require('tailwindcss'),
require('autoprefixer'),
...process.env.NODE_ENV === 'production'
? [purgecss]
: []
]
}
tailwind.config.js
:
module.exports = {
mode: 'jit',
purge: [
'./**/*.razor',
'./**/*.cshtml'
],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {
zIndex: {
'1': '1'
},
},
},
variants: {
extend: {
ringWidth: ['focus'],
borderWidth: ['focus'],
},
},
plugins: [
require('@tailwindcss/forms'),
],
}
1 ответ
Ага! Это был конфиг postcss. Я смотрел не тот файл. Исходная конфигурация была такой:
module.exports = ({ env }) => ({
plugins: {
tailwindcss: {},
autoprefixer: {},
cssnano: env === "production" ? { preset: "default" } : false
}
});
Не хватало
postcss-import
плагин:
module.exports = ({ env }) => ({
plugins: {
tailwindcss: {},
autoprefixer: {},
'postcss-import': {},
cssnano: env === "production" ? { preset: "default" } : false
}
});