webpack之loader篇

1、loaders之 預處理

  • css-loader 處理css中路徑引用等問題css

  • style-loader 動態把樣式寫入csshtml

  • sass-loader scss編譯器node

  • less-loader less編譯器react

  • postcss-loader scss再處理webpack

npm install --save -dev css-loader style-loader sass-loader less-loader postcss-loaderweb

栗子:npm

module: {
  loaders: [
    {test: /\.css$/, loader: "style!css?sourceMap!postcss"},
    {test: /\.less$/, loader: "style!css!less|postcss"},
    {test: /\.scss$/, loader: "style!css!sass|postcss"}
  ]
}

2、loaders之 js處理

  • babel-loaderjson

  • jsx-loadersass

npm install --save-dev babel-core babel-preset-es2015 babel-loader jsx-loaderbabel

栗子

新建一個名字爲.babelrc的文件

{
  "presets": ["es2015","react"],
  "plugins":["antd"]
}

新建一個名字爲webpack.config.js文件

module.exports ={
 entry: './entry.js',
 output: { path: __dirname,
 filename: 'bundle.js'
 },
 module: {
loaders: [
  {test: /\.js$/, loader: "babel", exclude: /node_modules/},
  {test: /\.jsx$/, loader: "jsx-loader"}
  {test: /.css$/, loader: 'style!css'} ]
  }
};

3、loaders之 圖片處理

  • url-loader

npm install --save-dev url-loadr

module: {
  loaders: [
    {test: /\.(jpg|png)$/, loader: "url?limit=8192"},
  ]
}

4、loaders之 文件處理

  • file-loader

npm install --save-dev file-loader

module: {
  loaders: [
    {
      test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)$/,
      loader: 'file'
      },
  ]
}

5、loaders之 json處理

  • json-loader

npm install --save-dev json-loader

module: {
  loaders: [
    {test: /\.json$/,loader: 'json'},
  ]
}

6、loaders之 html處理

  • raw-loader

npm install --save-dev raw-loader

module: {
  loaders: [
    { test: /\.html$/,loader: 'raw'},
  ]
}