webpack在使用css-loader時報錯,錯誤以下css
百度、谷歌、github、stackoverflow上都搜索未果,只找到刪除css-loader的方案node
{ test: /\.css$/, loader: 'css-loader!style-loader' }
後來發現問題在於loader配置項中,css-loader和style-loader順序寫反了,必須寫成style-loader!css-loader
webpack
配置改爲以下就行了git
{ test: /\.css$/, loader: 'style-loader!css-loader' }
css-loader 是處理css文件中的url()等github
style-loader 將css插入到頁面的style標籤順便告訴你web
less-loader 是將less文件編譯成csssass
sass-loader 是將sass文件編譯成cssbabel
loader的加載順序是從右往左,從下往上less
const path = require('path') const webpack = require('webpack') const autoprefixer = require('autoprefixer') const ROOT_PATH = path.resolve(__dirname) const APP_PATH = path.resolve(ROOT_PATH, 'src/js/main.js') const BUILD_PATH = path.resolve(ROOT_PATH, 'dist') module.exports = { entry: APP_PATH, output: { path: BUILD_PATH, filename: "bundle.js" }, module: { loaders: [ { test: /\.css$/, loader: 'style-loader!css-loader!less-loader?!postcss-loader' }, { test: /\.js$/, exclude: /node_module/, loader: 'babel-loader' } ] }, plugins: [ new webpack.LoaderOptionsPlugin({ options: { postcss() { return [autoprefixer] } } }) ] }