babel,webpack-dev-server配置

 github倉庫:https://github.com/llcMite/webpack.gitjavascript

一、什麼是webpack?前端

webpack能夠看作是模塊打包機:它作的事情是,將靜態資源當成模塊打包成一個或者多個文件。而且能夠將javascript模塊及其它一些瀏覽器不能直接運行的擴展語言(less,sass,es6,TypeScript)打包成合適的格式以供瀏覽器使用。java

二、webpack和grunt以及gulp相比有什麼特性?node

webpack與另外兩個是沒有什麼可比性的,gulp/grunt是一種可以優化前端的開發流程,而webpack是一種模塊化的解決方案,webpack的優勢使得他能夠替代gulp和grunt類工具。react

 

注意:如今版本更新的都很快,若是你不是很熟悉最新的版本,最好先使用舊的版本會更好。webpack

這裏只記錄經常使用的幾個模塊配置:git

   1)babeles6

首先安裝須要的模塊babel-preset-react是我配置react的jsx語法用的,不用的能夠不須要安裝github

cnpm install babel-core babel-loader babel-preset-env babel-preset-react --save-dev

 而後在webpack.config.js裏配置web

var path=require('path');

module.exports={
       //入口
    entry:{
        index:'./index.js',
    },
    //輸出
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js'
    },
    module:{
        //babel配置
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['react', 'env']
                }
            }
        ]
    },
}

 

  2)webpack-dev-server(用於自動刷新和熱模塊替換(只替換更新的部分而不是頁面重載))

cnpm install webpack-dev-server --save-dev

 配置webpack.config.js

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

module.exports={
        //入口
    entry:{
        index:'./index.js',
    },
    //輸出
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'bundle.js'
    },
    //webpack-dev-server配置
    devServer:{
        contentBase: path.join(__dirname, "dist"),   //指定服務器資源的配置屬性
        port:7000,      
        //host:'0,0,0,0'
        overlay: true,  //當編譯出錯時在瀏覽器上顯示錯誤
        stats:'errors-only', //打印想要打印的信息minimal","normal","verbose
        compress:true, //當它被設置爲true的時候對全部的服務器資源採用gzip壓縮
        hot:true,      //自動刷新
        inline:true,   //模塊熱替換
// 是否須要跨域去請求接口本地測試
        // proxy: {
        //     "/api":{
        //         target:"xxx.xx.com",
        //         changeOrigin:true,
        //         pathRewrite:{
        //             "^/api":""
        //         }
        //     }
        // }
}, module:{ //babel配置 loaders: [ { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/, query: { presets: ['react', 'env'] } }, ] }, plugins:[ new webpack.HotModuleReplacementPlugin() ] }
相關文章
相關標籤/搜索