webpack 打包成功,但是css不起作用


問題: webpack 打包成功,但是css不起作用

問題分析/解決: 原因有以下幾種

  • 使用了webpack2的語法規則不正確; webpack2要求必須寫-loader;
  • 可能是只寫了css-loader,沒有寫style-loader;
  • 順序反了,必須寫成 style-loader!css-loader;

擴展

  1. 問: 如果沒寫style-loader或者沒寫css-loader會怎么樣; 
    答: 
      沒寫style-loader則build文件會生成,但你會發現頁面中js不起作用; 
      沒寫css-loader則會直接報錯:’You may need an appropriate loader to handle this file type.’ 

  2. 問: style-loadercss-loader的作用是什么? 
    答: 
       style-loader只是沒起作用而不報錯就意味着它的作用是將樣式插入到DOM元素中;結合網上的答案以及觀察預覽頁面發現:style-loader會在頁面的header標簽里生成內部的<style></style>
       css-loader 會報錯,是因為它影響到webpack的build的過程了。結合網上分享以及’You may need an appropriate loader to handle this file type.’報錯信息,意味着css-loader的存在使得在js中通過require或者import引入css成功;通過css-loader,可以實現在js文件中通過require的方式,來引入css。

我的配置文件

const webpack = require('webpack');
const path = require('path');

module.exports = {
entry: {
'bundle': './a.js',
},
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name].js',
chunkFilename: '[name].js'
},
module: {
loaders: [
{
test: /\.css$/,
loader: 'style-loader!css-loader'
},
{
test: /\.js[x]?$/,
exclude: 'node_modules/',
loader: 'babel-loader'
}
]
},
plugins: [

]
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM