安装
npm i -D postcss-load-config
使用量
npm i -S|-D postcss-plugin
安装所有所需的 PostCSS 插件并将其保存到您 软件包.json dependencies编号 :devDependencies
然后通过选择以下格式之一创建 PostCSS 配置文件
package.json
创建一个 postcss 在您的项目中 package.json
Project (Root)
|– client
|– public
|
|- package.json
{
"postcss": {
"parser": "sugarss",
"map": false,
"plugins": {
"postcss-plugin": {}
}
}
}
.postcssrc
创建一个 .postcssrc 以 JSON 或 YAML 为格式的文件
建议使用扩展名(例如:
.postcssrc.json或者说.postcssrc.yml改为.postcssrc
Project (Root)
|– client
|– public
|
|- (.postcssrc|.postcssrc.json|.postcssrc.yml)
|- package.json
.postcssrc.json
{
"parser": "sugarss",
"map": false,
"plugins": {
"postcss-plugin": {}
}
}
.postcssrc.yml
parser: sugarss
map: false
plugins:
postcss-plugin: {}
[注] 对于YAML配置, 你一定有 雅姆尔 作为对等依赖安装.
.postcssrc.js 或者说 postcss.config.js
你可能需要一些逻辑 在你的配置. 在这种情况下,创建JS/TS文件,命名为:
.postcssrc.js.postcssrc.mjs.postcssrc.cjs.postcssrc.ts.postcssrc.mts.postcssrc.ctspostcss.config.jspostcss.config.mjspostcss.config.cjspostcss.config.tspostcss.config.mtspostcss.config.cts
Project (Root)
|– client
|– public
|- (.postcssrc|postcss.config).(js|mjs|cjs|ts|mts|cts)
|- package.json
您可以导出配置为 {Object}
. postcsrc.js (中文(简体) )
module.exports = {
parser: 'sugarss',
map: false,
plugins: {
'postcss-plugin': {}
}
}
或者导出一个 {Function} 返回配置(更多关于 ctx (见下文)
. postcsrc.js (中文(简体) )
module.exports = (ctx) => ({
parser: ctx.parser ? 'sugarss' : false,
map: ctx.env === 'development' ? ctx.map : false,
plugins: {
'postcss-plugin': ctx.options.plugin
}
})
插件可以使用 {Object} 或一个 {Array}
{Object}
. postcsrc.js (中文(简体) )
module.exports = ({ env }) => ({
...options,
plugins: {
'postcss-plugin': env === 'production' ? {} : false
}
})
i️ 当使用
{Object},键可以是节点.js模块名,与PostCSS配置文件目录相对的JavaScript文件路径,也可以是JavaScript文件的绝对路径.
{Array}
. postcsrc.js (中文(简体) )
module.exports = ({ env }) => ({
...options,
plugins: [
env === 'production' ? require('postcss-plugin')() : false
]
})
:警告: 当使用时
{Array},确保require()每个插件
选项
| 名称 | 类型 | 默认 | 说明 |
|---|---|---|---|
to | {String} | undefined | 目标文件路径 |
map | {String|Object} | false | 启用/ 残疾源地图 |
from | {String} | undefined | 源文件路径 |
parser | {String|Function} | false | 自定义 PostCSS 解析器 |
syntax | {String|Function} | false | 自定义 PostCSS 语法 |
stringifier | {String|Function} | false | 自定义 PostCSS 字符串 |
parser
. postcsrc.js (中文(简体) )
module.exports = {
parser: 'sugarss'
}
syntax
. postcsrc.js (中文(简体) )
module.exports = {
syntax: 'postcss-scss'
}
stringifier
. postcsrc.js (中文(简体) )
module.exports = {
stringifier: 'midas'
}
map
. postcsrc.js (中文(简体) )
module.exports = {
map: 'inline'
}
:警告:在大多数情况下
options.from&&options.to由整合此软件包的第三方(CLI、gulp、webpack)设定。 不需要设置/使用options.from&&options.to在配置文件中。 除非你是直接使用此模块及其节点API的第三方插件作者 不要设置options.from&&options.to你自己来
to
module.exports = {
to: 'path/to/dest.css'
}
from
module.exports = {
from: 'path/to/src.css'
}
插件
{} || null
插件将装入默认值
'postcss-plugin': {} || null
. postcsrc.js (中文(简体) )
module.exports = {
plugins: {
'postcss-plugin': {} || null
}
}
: 警告:
{}一定是个 空{Object}字义
{Object}
插件将被装入给定选项
'postcss-plugin': { option: '', option: '' }
. postcsrc.js (中文(简体) )
module.exports = {
plugins: {
'postcss-plugin': { option: '', option: '' }
}
}
false
未装入插件
'postcss-plugin': false
. postcsrc.js (中文(简体) )
module.exports = {
plugins: {
'postcss-plugin': false
}
}
Ordering
插件 执行命令 由插件区域中的声明决定(从上而下(中文(简体) )
{
plugins: {
'postcss-plugin': {}, // [0]
'postcss-plugin': {}, // [1]
'postcss-plugin': {} // [2]
}
}
A. 背景情况
当使用一个 {Function} (单位:千美元)postcss.config.js 或者说 .postcssrc.js),可以将上下文传递给 postcss-load-config,在装入您的配置时将对其进行评估。 默认 ctx.env (process.env.NODE_ENV) 财务报告和审定财务报表 ctx.cwd (process.cwd()) 可在 ctx {Object}
i️ 多数第三方合并在
ctx(例如postcss-loader) (中文(简体) ). 请检查date=中的日期值 (帮助)ctx
实例
邮编. config.js
module.exports = (ctx) => ({
parser: ctx.parser ? 'sugarss' : false,
map: ctx.env === 'development' ? ctx.map : false,
plugins: {
'postcss-import': {},
'postcss-nested': {},
cssnano: ctx.env === 'production' ? {} : false
}
})
"scripts": {
"build": "NODE_ENV=production node postcss",
"start": "NODE_ENV=development node postcss"
}
const { readFileSync } = require('fs')
const postcss = require('postcss')
const postcssrc = require('postcss-load-config')
const css = readFileSync('index.css', 'utf8')
const ctx = { parser: true, map: 'inline' }
postcssrc(ctx).then(({ plugins, options }) => {
postcss(plugins)
.process(css, options)
.then((result) => console.log(result.css))
})
"scripts": {
"build": "NODE_ENV=production gulp",
"start": "NODE_ENV=development gulp"
}
const { task, src, dest, series, watch } = require('gulp')
const postcss = require('gulp-postcssrc')
const css = () => {
src('src/*.css')
.pipe(postcss())
.pipe(dest('dest'))
})
task('watch', () => {
watch(['src/*.css', 'postcss.config.js'], css)
})
task('default', series(css, 'watch'))
"scripts": {
"build": "NODE_ENV=production webpack",
"start": "NODE_ENV=development webpack-dev-server"
}
网络包装. config.js
module.exports = (env) => ({
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader',
'postcss-loader'
]
}
]
}
})
维护者
迈克尔·西尼奥夫斯基 |
马特乌什·德克 |
贡献者
瑞安·邓克尔 |
帕特里克·吉尔代 |
道尔顿·桑托斯 |
弗朗索瓦·伍特斯 |
请使用 电梯安全联络。 。 。 . Tidelift将协调固定和披露.