module:{ rules: [ { test: /\.js$/, loader: 'babel-loader', exclude: path.resolve(__dirname, "node_modules"), },{ test: /\.css$/, use: [ "style-loader", "css-loader?importLoaders=1", //这里是为了把css里的@import先执行第一个loader { loader: "postcss-loader", // options: { // plugins: (loader)=>[ // require('autoprefixer')({ // browsers:['last 5 versions'] // }) // ] // }, } ], } ] }, plugins: [ new webpack.LoaderOptionsPlugin({ options: { postcss: function(){ return [ require("autoprefixer")({ browsers: ['last 5 versions'] }) ] } } }) ]
如上图,不管是直接在loader那里用options配置,或者使用LoaderOptionsPlugin,都会报错。
谢谢老哥,终于可以让我睡觉了2017/12/24 上午2:04:07
//新建一个postcss.config.js,里面写入
module.exports = { plugins: [ require('autoprefixer')({ browsers: ['last 5 versions'] }) ] }
//回到webpack.config.js
rules:[ { test:/\.css$/, use:[ 'style-loader', 'css-loader', 'postcss-loader' ] }, { test:/\.less$/, use:[ 'style-loader', 'css-loader', 'postcss-loader', 'less-loader' ] }, { test:/\.scss$/, use:[ 'style-loader', 'css-loader', 'postcss-loader', 'sass-loader' ] } ]
var htmlWebpackPlugin=require('html-webpack-plugin'); var path=require('path'); module.exports = { entry:'./src/app.js', output: { path:__dirname+'/dist', filename: 'js/[name].bundle.js' }, module:{ loaders:[ { test:/\.js$/, loader:'babel-loader', //exclude:__dirname+'/node_modules/', //include:__dirname+'/src/', exclude:path.resolve(__dirname,'node_modules'), include:path.resolve(__dirname,'src'), query: { "presets":["latest"] } }, { test:/\.css$/, use:[ {loader:'style-loader'}, { loader:'css-loader', options:{ importLoaders: 1 } }, { loader:'postcss-loader', options:{ ident:'postcss-ident', plugins:function(){ return [ require('autoprefixer') ] } } } ] } ] }, plugins: [ new htmlWebpackPlugin({ filename:'index.html', template:'index.html', inject:'body' }) ] } 请无视上面的,这样来就可以了 样式用@import引别的样式表进来的也能解析了
module:{ loaders:[ { test:/\.js$/, loader:'babel-loader', exclude:path.resolve(__dirname,'node_modules'), include:path.resolve(__dirname,'src'), query: { "presets":["latest"] } }, { test:/\.css$/, use:[ {loader:'style-loader'}, {loader:'css-loader'}, { loader:'postcss-loader', options:{ plugins:function(){ return [ require('autoprefixer') ] } } } ] } ] },
这样整就可以了,视频里面的版本太低,那样走会报错
遇到同样的问题,
我也同样遇到这种问题...只要是在css中使用了@import,无论是在哪里配置postcss-loader都报错
后来使用postcss.config.js进行配置就OK,我也不懂为什么
在项目根目录下创建一个postcss.config.js文件,配置如下
module.exports = { plugins: [ require('autoprefixer')({ browsers: ['last 5 versions'] }) ] }
npm install css-loader style-loader --save-dev require('style.loader!css-loader!./[name].css')