webpack 打包成功,可是css不起做用

問題: webpack 打包成功,可是css不起做用

問題分析/解決: 緣由有如下幾種css

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

擴展node

  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。

個人配置文件webpack

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: [ ]};
相關文章
相關標籤/搜索