vue -webpack基础打包

认识webpack

目前前端开发变得越来越复杂

  • 比如开发过程中需要模块化的方式来开发
  • 比如也会使用一些高级的特性来加快我们的开发效率或者安全性,比如通过ES6+、ts开发脚本逻辑、通过Sass、less等方式来编写css样式代码
  • 开发过程中还希望实时监听文件的变化并反映到浏览器上,提高开发效率
  • 开发完成后我们还需要将代码进行压缩、合并及其他相关优化;

但很多前端开发人员并不需要考虑这些问题,因为目前前端开发通常使用三大框架,框架创建的过程要借助于脚手架(cli),vue-cli......都是基于webpack来帮助我们支持模块化、less、ts、打包优化等;

webpack到底是什么

官方文档给出的解释是:webpack是一个静态的模块化打包工具,为现代的javaScript应用程序、
通过这句话可以得到以下几个关键词

关键词解释
打包bundlerwebpack进行打包,所以他是一个打包工具
静态的static我们最终可以将代码打包成最终的静态资源(部署到静态服务器)
模块化modulewebpack默认支持各种模块化开发,ES Module、CommonJS、AMD等
现代化modern现代前端开发面临各种各样的问题,才催生了webpack的出现和发展

在这里插入图片描述
webpack的运行是依赖node环境的,所以我们电脑上必须有node环境

webpack的安装

npm install webpack webpack-cli -gl

他们是什么关系

  • 执行webpack命令会执行node_modules下的bin目录下的webpack
  • webpack在执行时时依赖webpakck-cli的,如果没安装会报错
  • 而webpack-cli中代码执行时,才能利用webpack进行编译和打包的过程
  • 所以在安装webpack时,需要同时安装webpack-cli

入口起点(entry points)

入口起点告诉 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口起点之后,webpack 就会#找出有哪些模块和库是入口起点直接、间接依赖的。每个依赖项随即被处理,最后输出到称之为 bundles 的文件中。

module.exports = {
  entry: './path/to/my/entry/file.js',
};
dependOn:当前入口文件依赖的入口文件,即必须在入口文件被加载之前加载依赖的入口文件
filename:指定当前入口文件构建后输出的文件名称
import:启动构建时被夹加载的模块
library:配置入口文件的选项
runtime:运行时 chunk 的名称,如果设置了此选项将会创建一个同名的运行时 chunk,否则将会使用入口文件作为运行时

Output

output 属性告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist。注意,即使可以存在多个 entry 起点,但只能指定一个 output 配置。

Module

模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。

Plugin

插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以用来处理各种各样的任务。

栗子

module.exports = {
  devtool: false,
  mode: 'development',
  entry: './index.js',// 入口文件
  output: {
    // 输出文件名称
    filename: 'bundle.js',
    // 输出文件路径
    path: path.join(__dirname, './'),
  },
  module: {
    rules: [
      {
        test: /\.css$/, // 正则匹配后缀名为 .css 的文件
        use: [MiniCssExtractPlugin.loader, 'css-loader'],
      },
    ],
  },
  plugins: [new MiniCssExtractPlugin()],
  devServer: {
    contentBase: './',// DevServer 根目录
    port: 8080,// DevServer 端口
    open: true,// 打开浏览器
  },
};
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值