webpack 入門

介紹

webpack is a module bundler. It packs CommonJs/AMD modules i. e. for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand.

核心概念

1. 入口(Entry)

//單一入口
module.exports={
    entry:'./path/to/my/entry/file.js'
};
//多入口
module.exports={
    entry:{
        index: './path/to/my/entry/file.js',
        test: './path/to/my/entry/file.js',
    }
};

2. 出口(Output)

//輸出
module.exports={
    entry:'./path/to/my/entry/file.js',
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'my-first-webpack.bundle.js'
    }
};
//輸出
module.exports={
    entry:{
        index: './path/to/my/entry/file.js',
        test: './path/to/my/entry/file.js',
    },
    output:{
        path:path.resolve(__dirname+'/dist'),
        filename:'[name].js'   //[name]是當前被編譯的js入口的文件名
    },
};

3. Loader

module.exports={
    entry:{
        index: './path/to/my/entry/file.js',
        test: './path/to/my/entry/file.js',
    },
    output:{
        path:path.resolve(__dirname+'/dist'),
        filename:'[name].js'  //[name]是當前被編譯的js入口的文件名
    },
    module:{
        rules:[//轉換
            {
                test:/\.css$/,
                use:[
      {loader:'style-loader'},
                    {
                          loader:'css-loader',
                          options:{
                              modules:true
                          }
                    }
                ]
            }
        ]
    }
};

4. 插件(Plugins)

module.exports={
    entry:{
        index: './path/to/my/entry/file.js',
        test: './path/to/my/entry/file.js',
    },
    output:{
        path:path.resolve(__dirname+'/dist'),
        filename:'[name].js'  //[name]是當前被編譯的js入口的文件名
    },
    module:{
        rules:[//轉換
            {
                test:/\.css$/,
                use:[
      {loader:'style-loader'},
                    {
                          loader:'css-loader',
                          options:{
                              modules:true
                          }
                    }
                ]
            }
        ]
    },
 plugins: [
     new webpack.optimize.UglifyJsPlugin(),
     new HtmlWebpackPlugin({template: './src/index.html'})
  ]
};
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 寫在前面 第一次接觸webpack,是在一個react項目參與中,剛開始使用的時候,甚至不知道是做什么用的,只看到...
    默默先生Alec閱讀 687評論 0 3
  • DEMO地址:http://pan.baidu.com/s/1eR4s2uI 1.前言 現今的很多網頁其實可以看做...
    童井神閱讀 349評論 0 1
  • 題記 本年度的前端研究方向之一是webpack,之前就去看過一個webpack的學習視頻,自己按照課程寫了一些配置...
    baxiamali閱讀 330評論 0 0
  • 一.什么是 Webpack Webpack 是一個模塊打包器。它將根據模塊的依賴關系進行靜態分析,然后將這些模塊按...
    逍遙g閱讀 789評論 0 0
  • 什么是webpack?我的理解是文件打包及資源處理,當然功能肯定不局限于此。學習前提:了解npm,了解node.j...
    yozosann閱讀 1,749評論 2 15