javascript - postcss-loader在webpack2的使用.
問題描述
一. 按照官網(wǎng)的做法,配置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’ } ] }
三. 然后運(yùn)行webpack 會出現(xiàn)報錯
ERROR in ./~/css-loader?{'importLoaders':1}!./~/.2.0.6@postcss-loader/lib!./app/common.cssModule 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:[email protected]: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:UsersjjDesktopwebpacknode_modules.6.7.7@autoprefixerlibautoprefixer.js:5:18) at Object.<anonymous> (C:UsersjjDesktopwebpacknode_modules.6.7.7@autoprefixerlibautoprefixer.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:UsersjjDesktopwebpackpostcss.config.js:3:5) at Module._compile (module.js:570:32) at requireFromString (C:UsersjjDesktopwebpacknode_modules.1.2.1@require-from-stringindex.js:27:4) at C:[email protected]: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’)() ] } }
五. 按照網(wǎng)上找到的方法
new webpack.LoaderOptionsPlugin({ options: {postcss: function() { return [require(’autoprefixer’)];} }}),根據(jù)網(wǎng)上做法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的部分則沒有任何問題,正常運(yùn)行.所有問題應(yīng)該就出在這里了
七.真感覺搞不定了.附上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' }}
問題解答
回答1:我也不知道具體的原因所在,就貼上我的配置吧……
post.config.js
module.exports = { plugins: [ require(’autoprefixer’)({browsers:’ios >= 8’}) ]}
webpack2
{ test: /.css$/, loaders: ['style-loader', 'css-loader', 'postcss-loader']}
實在不行,我把倉庫地址給你…… https://github.com/mqyqingfen...
回答2:難道就這樣沉了...
回答3:看著沒問題,可以試試把a(bǔ)utoprefixer換成以前的版本,還有就是把node_modules刪了重新npm install
相關(guān)文章:
1. css3 - jquery div 翻轉(zhuǎn)?2. python - 有什么好的可以收集貨幣基金的資源?3. docker容器呢SSH為什么連不通呢?4. docker鏡像push報錯5. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.6. docker start -a dockername 老是卡住,什么情況?7. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?8. MySQL數(shù)據(jù)庫中文亂碼的原因9. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題10. golang - 用IDE看docker源碼時的小問題
