我正在尝试使用带有autoprefixer的grunt-postcss,但css没有得到前缀。 Autoprefixer创建新文件,但不加前缀。没有错误。
这是我的gruntfile:
postcss: {
options: {
map: true,
processors: [
require('autoprefixer')({
browsers: ['last 2 versions']
})
]
},
files: {
'<%= pathBuild %>/<%= pathAssets %>/<%= pathRio %>/css/rio-layout.prefixed.css': '<%= pathBuild %>/<%= pathAssets %>/<%= pathRio %>/css/rio-layout.css',
'<%= pathBuild %>/<%= pathAssets %>/<%= pathRio %>/css/theme.prefixed.css': '<%= pathBuild %>/<%= pathAssets %>/<%= pathRio %>/css/theme.css'
}
}
怎么了?
答案 0 :(得分:0)
也许您还没有安装&#34; autoprefixer&#34;,或者它不在预期的文件夹中。
确保您的node_modules/
文件夹具有与此类似的文件树:
node_modules/
├── autoprefixer/
│ └── . . .
├── postcss/
│ └── . . .
└── . . .
如果您发现缺少autoprefixer/
,则需要安装它。
另一种可能性是您已经安装了autoprefixer而没有依赖关系(例如autoprefixer/
文件夹不包含自己的node_modules/
文件夹)。通过使用以下命令重新安装它来纠正此问题:
npm install autoprefixer --save-dev
虽然不太可能,但您可能需要使用postcss
以及
答案 1 :(得分:0)
这让我在过去的几个星期里一直疯狂,我刚刚找到了一个适合我的答案。在Bootstrap Gruntfile.js中找到它。以下是我认为问题所在:
使用示例grunt-postcss示例,浏览器选项中的“最后2个版本”可能是占位符。当我在Bootstrap Gruntfile.js中替换浏览器数组时,我的postcss输出前缀开始匹配Bootstrap dist css文件的前缀。这是我使用的完整配置:
grunt.initConfig({
postcss: {
options: {
map: {
inline: false,
},
processors: [
require('autoprefixer')([
"Android 2.3",
"Android >= 4",
"Chrome >= 20",
"Firefox >= 24",
"Explorer >= 8",
"iOS >= 6",
"Opera >= 12",
"Safari >= 6"
]),
]
},
dist: {
src: 'css/*.css'
}
}
});