1. 程式人生 > >webpack總結和菠菜網站出租

webpack總結和菠菜網站出租

如何 自動生成 ack 類型 功能 一切都 nod 等等 自動

webpack是一個和菠菜網站出租(企娥217-1793-408)gulp差不多的自動化的構建工具,功能還是很強大的,能夠處理圖片壓縮,能夠處理js,能夠處理那些預編譯的語言比如sass|scss、css等等,這一切都要歸功於有個強大的loader功能。

準備篇

webpack是一個用node的npm包管理工具上的工具,下載和安裝:npm install -g --save-dev webpack類似於這樣。

它主要包括文件:webpack.config.js、package.json(初始化自動生成,裏面有很多版本相關的信息,也包括安裝的loaders等等)、入口文件、出口文件。

在webpack.config.js裏面,主要代碼框架:

const path = require(‘path‘);
const ExtractTextPlugin = require(‘extract-text-webpack-plugin‘);
?
module.exports = {
? ? entry: ‘./src/main.js‘,
? ? output: {
? ? ? ? filename: ‘bundle.js‘, ? ? ? ? ? ? ? //輸出的文件名
? ? ? ? path: path.resolve(dirname, ‘build‘) //輸出文件所在的目錄
? ? },
? ? devServer: { // 檢測代碼變化並自動重新編譯並自動刷新瀏覽器

? ? ? ? contentBase: path.resolve(dirname, ‘build‘) // 設置靜態資源的根目錄
? ? },
? ? module: { // 如何處理項目中不同類型的模塊
? ? ? ? rules: [ // 用於規定在不同模塊被創建時如何處理模塊的規則數組
? ? ? ? ? ? {
? ? ? ? ? ? ? ? test: /(.jsx|.js)$/,
? ? ? ? ? ? ? ? use: {
? ? ? ? ? ? ? ? ? ? loader: "babel-loader",
? ? ? ? ? ? ? ? ? ? options: {
? ? ? ? ? ? ? ? ? ? ? ? presets: [
? ? ? ? ? ? ? ? ? ? ? ? ? ? "env", "react"
? ? ? ? ? ? ? ? ? ? ? ? ]?
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? exclude: path.resolve(__dirname, ‘node_modules‘),
? ? ? ? ? ? ? ? include: path.resolve(__dirname, ‘src‘),
? ? ? ? ? ? },
? ? ? ? ? ? {//css單獨打包
? ? ? ? ? ? ? ? test: /.scss/,
? ? ? ? ? ? ? ? use: ExtractTextPlugin.extract({
? ? ? ? ? ? ? ? ? ? use: [{
? ? ? ? ? ? ? ? ? ? ? ? loader:"css-loader"
? ? ? ? ? ? ? ? ? ? },{
? ? ? ? ? ? ? ? ? ? ? ? loader: ‘sass-loader‘
? ? ? ? ? ? ? ? ? ? }],
? ? ? ? ? ? ? ? ? ? fallback: "style-loader"
? ? ? ? ? ? ? ? })
? ? ? ? ? ? },
? ? ? ? ? ? {
? ? ? ? ? ? ? ? test: /.css$/,
? ? ? ? ? ? ? ? use: ExtractTextPlugin.extract({
? ? ? ? ? ? ? ? ? ? use: [‘css-loader‘],
? ? ? ? ? ? ? ? }),
? ? ? ? ? ? },
? ? ? ? ? ? {
? ?       test: /.(png|jpg)$/,
? ?       loader: ‘url-loader?limit=8192‘,
? ?     }
? ? ? ? ]
? ? },
? ? plugins: [
? ? ? ? new ExtractTextPlugin({
? ? ? ? ? ? filename: ‘main-page.css‘,
? ? ? ? }),
? ? ]
};

webpack總結和菠菜網站出租