第三节、配置文件:入口和出口

本文介绍Webpack配置文件webpack.config.js的基本结构及入口、出口文件配置。包括单一和多入口、多出口配置方法,帮助理解实际开发中的打包流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先要说明的是:学习这节课前,务必作完上节课的代码,否则你会学的一脸懵逼。

上节课通过一个小Demo我们对Webpack有了初步了解,但是上节课的终端打包方案,在实际开发中并不使用,而是使用Webpack的配置文件的方式进行设置。这节课我们就学一下配置文件的大体结构和入口出口文件的配置。

配置文件webpack.config.js

webpack.config.js就是webpack的配置文件,首先在项目根目录上手动建立。建好后对其进行配置,下面代码是webpack.config.js的基本结构

module.exports = {
    //入口文件配置项
    entry:{},
    //出口文件配置项
    output:{},
    //模块:例如解读css,图片如何转换,压缩
    module:{},
    //插件,用于生产模板和各项功能
    plugins:[],
    //配置webpak开发服务功能
    devServer:{}
}
  • entry:配置入口文件的地址,可以是单一入口,也可以是多入口。
  • output:配置出口文件的地址,在webpack2.X版本后,支持多出口配置。
  • module:配置模块,主要是解析CSS和图片转换压缩等功能。
  • plugins:配置插件,根据你的需要配置不同功能的插件。
  • devServer:配置开发服务功能,后期我们会详细讲解。
entry选项(入口配置)

这个选项就是配置我们呀压缩的文件,这里要填写的是src目录下的entry.js文件。

//入口文件配置项
entry:{
    entry:'./src/entry.js'
},

output选项(出口配置)

const path = require('path');

module.exports = {
    //入口文件配置项
    entry:{
        entry:'./src/entry.js'
    },
    //出口文件配置项
    output:{
        path:path.resolve(__dirname,'dist'),//打包到路径名称`
        filename:'bundle.js'//打包到的文件名称
    },

注意了,这里在output配置项中添加了两个信息,打包路径名称和打包到的文件名称。但是只写这两个是会报错的,还需要在头部引入path。

其实path.resolve(__dirname,'dist')就是获取了项目的绝对路径。注意主意注意,dirname前面是两个下划线__,不要写成一个,否则打包会出错哟。

filename:是打包后的文件名称,这里我们起名为bundle.js。

现在webpack.config.js文件是这样的

const path = require('path');

module.exports = {
    //入口文件配置项
    entry:{
        entry:'./src/entry.js'
    },
    //出口文件配置项
    output:{
        path:path.resolve(__dirname,'dist'),//打包到路径名称
        filename:'bundle.js'//打包到的文件名称
    },
    //模块:例如解读css,图片如何转换,压缩
    module:{},
    //插件,用于生产模板和各项功能
    plugins:[],
    //配置webpak开发服务功能
    devServer:{}
}
这个代码写完后,你可以在终端中输入webpack就会进行打包。

在实际开发中我们都是通过配置文件进行打包的,所以必须要掌握好。

多入口、多出口配置

Webpack在版本1的时候很难设置多出口文件,但是在2版本开始就变的很方便了。直接看多入口和多出口的文件配置,然后可以和单一出口对比一下,你会发现这种设置非常简单(只需改动两点配置就可以)。

const path = require('path');

module.exports = {
    //入口文件配置项
    entry:{
        entry:'./src/entry.js',
        entry2:'./src/entry2.js'
    },
    //出口文件配置项
    output:{
        path:path.resolve(__dirname,'dist'),//打包到路径名称
        filename:'[name].js'//打包到的文件名称
    },
    //模块:例如解读css,图片如何转换,压缩
    module:{},
    //插件,用于生产模板和各项功能
    plugins:[],
    //配置webpak开发服务功能
    devServer:{}
}

可以看到代码的第7和12行进行了增加和修改,在入口文件配置中,增加了一个entry2.js的入口文件(这个文件你需要自己手动建立),这时候要打包的就有了两个入口文件。在代码12行我们把原来的bundle.js修改成了[name].js。

[name]的意思是根据入口文件的名称,打包成相同的名称,有几个入口文件,就可以打包出几个文件。


请注意,配置文件中的相关字段名不要写错了,大小写要注意,大小写要注意,大小写要注意,重要的事情说三遍,不然会在进行webpack指令打包时出现错误,讲真报的错误一大串实在是不好找到问题在哪,所以还是要在最初建立相关文件时仔细点

最后总结一下:

第二节学习的打包指令  webpack  {entry files}  {destination for bundled filse}在实际项目过程中并不会使用,因为对于一个项目有很多相关的设置项,比较复杂,所以这个时候使用webpack.config.js配置文件进行相关的配置会方便很多,最后直接使用webpack指令进行打包就可以了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值