一. 依照官網的做法,設定postcss.config.js
## module.exports = {
plugins: [
require('autoprefixer')
]
}
二. 然後在webpack.config.js裡面
{
test:/\.css$/,
use: [
{
loader: 'style-loader'
},
{
loader: 'css-loader',
options: { importLoaders: 1 }
},
{
loader: 'postcss-loader'
}
]
}
三. 然後執行webpack 會出現報錯
ERROR in ./~/css-loader?{"importLoaders":1}!./~/.2.0.6@postcss-loader/lib!./app/
common.css
Module build failed: Error: Cannot find module 'caniuse-db/data.json'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\Users\jj\Desktop\webpack\node_modules\.1.7.7@brows
erslist\index.js:5:46)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\Users\jj\Desktop\webpack\node_modules\.6.7.7@autop
refixer\lib\autoprefixer.js:5:18)
at Object.<anonymous> (C:\Users\jj\Desktop\webpack\node_modules\.6.7.7@autop
refixer\lib\autoprefixer.js:92:4)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\Users\jj\Desktop\webpack\postcss.config.js:3:5)
at Module._compile (module.js:570:32)
at requireFromString (C:\Users\jj\Desktop\webpack\node_modules\.1.2.1@requir
e-from-string\index.js:27:4)
at C:\Users\jj\Desktop\webpack\node_modules\.2.1.3@cosmiconfig\lib\loadJs.js
:11:15
@ ./app/common.css 4:14-136
@ ./app/index.js
四. 清空postcss.config.js, 修改webpack.config.js,再次失敗 報錯和上一個步驟一樣.
{
loader: 'postcss-loader',
options: {
plugins: (loader) => [
require('autoprefixer')()
]
}
}
五. 依照網路上找到的方法
new webpack.LoaderOptionsPlugin({
options: {
postcss: function() {
return [require('autoprefixer')];
}
}
}),
根据网上做法
npm i webpack-loader-options-merge --save-dev
然后在webpack.config.js加入
var loaderOptionsMerge = require('webpack-loader-options-merge');
loaderOptionsMerge(webpackConfigObject);
webpack(webpackConfigObject);
我不明白new webpack.LoaderOptionsPlugin这里为什么这样写
而且也会报错
loaderOptionsMerge(webpackConfigObject);
^
ReferenceError: webpackConfigObject is not defined
六.去掉postcss的部分則沒有任何問題,正常運作.所有問題應該就出在這裡了
###七.真感覺搞不定了.附上package.json.webpack不僅全域安裝了,也--save-dev了.###{
"name": "webpack",
"version": "1.0.0",
"description": "",
"main": "webpack.config.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"bulid": "webpack",
"start": "webpack-dev-server --env development",
"lint": "eslint app/ webpack.*.js --cache"
},
"author": "",
"license": "ISC",
"devDependencies": {
"autoprefixer": "^7.1.1",
"css-loader": "^0.28.4",
"eslint": "^4.0.0",
"eslint-loader": "^1.8.0",
"html-webpack-plugin": "^2.28.0",
"less": "^2.7.2",
"less-loader": "^4.0.4",
"postcss": "^6.0.2",
"postcss-loader": "^2.0.6",
"style-loader": "^0.18.2",
"webpack": "^2.6.1",
"webpack-dev-server": "^2.4.5",
"webpack-loader-options-merge": "0.0.3"
}
}
我也不知道具體的原因所在,就貼上我的配置吧…
post.config.js
webpack2
實在不行,我把倉庫地址給你… https://github.com/mqyqingfen...
難道就這樣沉了...
看著沒問題,可以試試看把autoprefixer換成以前的版本,還有就是把node_modules刪了重新npm install