webpack4入门之基础配置

183 阅读1分钟

一、什么是webpack

webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),本质上 webpack 是一个打包工具,它会根据代码的内容解析模块依赖,帮助我们把多个模块的代码进行打包。 webpack 官网的图片:

webpack as a bundler

如上图,webpack 这个模块打包器会分析我们项目中的目录结构,找出我们项目中做使用到的多个代码模块,通过处理把这些模块打包成浏览器可以直接访问的几种静态文件。如今,前端一些主流的框架,例如:Vue、React等都会包含使用 webpack 开发工具的配置。所以 webpack 无疑是当下最火的打包工具。在搭建之前让我们先来看一下 webpack 中的几个基本概念。

entry(入口)

  • 入口文件:一切从这个文件开始对我的项目进行打包操作。一开始我们使用 webpack 打包构建时,默认的入口文件就是 ./src/index.js
  • 几种常见的入口文件写法:
// 单文件写法
module.exports = {
  entry: './src/index.js' 
}

module.exports = {
  entry: {
    main: './src/index.js'
  }
}

// 多文件写法(可以配置多个入口)
module.exports = {
  entry: {
    main: './src/index.js',
    secondary: './src/secondary.js', 
    // ...
  }
}


module.exports = {
  entry: {
    main: [
      './src/index.js',
      './src/secondary.js'
    ]
  }
}

output(出口)

  • output 属性告诉 webpack 在哪里输出它所创建的bundles,以及如何命名这些文件,默认值为./dist
  • 几种常见的出口文件写法:
// 单文件出口
module.exports = {
  // ...
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
}

// 多个入口文件生成不同出口文件
module.exports = {
  entry: {
    main: './src/index.js',
    secondary: './src/secondary.js', 
    // ...
  },
  output: {
    filename: '[name].js',
    path: __dirname + '/dist',
  },
}

loader(转换器)

还在写还在写...