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阅读 677评论 0 3
  • DEMO地址:http://pan.baidu.com/s/1eR4s2uI 1.前言 现今的很多网页其实可以看做...
    童井神阅读 347评论 0 1
  • 题记 本年度的前端研究方向之一是webpack,之前就去看过一个webpack的学习视频,自己按照课程写了一些配置...
    baxiamali阅读 330评论 0 0
  • 一.什么是 Webpack Webpack 是一个模块打包器。它将根据模块的依赖关系进行静态分析,然后将这些模块按...
    逍遥g阅读 786评论 0 0
  • 什么是webpack?我的理解是文件打包及资源处理,当然功能肯定不局限于此。学习前提:了解npm,了解node.j...
    yozosann阅读 1,748评论 2 15