2、webpack基础配置

摘要:
安装后,您可以输入webpack的配置。Webpack可以执行零配置,但只要是零配置,它就会非常弱。输出结果通常在src目录中,因此我们创建src目录。事实上,我们还需要webpack-cli的支持。如果未安装webpackcli,它将提示您安装它,以便我们了解两者之间的关系。wepack的功能是包装。Webpack将默认使用生产模式。我们不关心打包的结果是什么。请查看我们输出的结果webpack,以帮助我们解析js模块并找到相关的依赖文件。

我们需要安装webpack 还需要安装webpack cli

这两个都是我们的开发依赖

这里我们一般会加一个-D表示上线的时候不需要他们两个包

2、webpack基础配置第1张

安装我们的webpack

先初始化一下,记住我们的安装依赖

我机器代码的路径:

D:MyDemoswebpack4webpack-dev-1

Ctrl+鼠标右键打开CMD窗体。输入

yarn init -y

2、webpack基础配置第2张

初始化之后呢 就可以安装我们所需要的两个包

我们使用yarn add去安装

yarn add webpack webpack-cli -D

-D:表示当前是开发依赖,上线的时候不需要。

2、webpack基础配置第3张

安装好后就可以进入webpack的配置

webpack可以进行零配置,但是只要是零配置,就会很弱

打包工具--》输出后的结果(js模块)

2、webpack基础配置第4张

一般源码都在src目录下,所以我们创建src目录。

创建src目录,并在src下创建index.js文件

输出一点内容。

console.log('hello zfpx');

2、webpack基础配置第5张

我们想把这个文件打包:

npx webpack

2、webpack基础配置第6张

他会默认去找node_modules下的bin文件

2、webpack基础配置第7张

webpack.cmd:这里有一个判断如果当前目录有node.exe就执行,他就会用我们当前文件夹下的node.exe去执行 webpack.js

如果没有就用node去执行上一个目录下的webpack.js

2、webpack基础配置第8张

他实际上执行的就是node_modules/webpack/bin/weboack.js文件。

这里实际上还需要webpack-cli的支持。如果没有安装webpack-cli 他会提示你去安装

2、webpack基础配置第9张

这样我们就知道了这两者之间的关系。

这是我们打包出来的dist/main.js的文件。这个文件夹明显压缩过了

2、webpack基础配置第10张

安装一个插件code runner

2、webpack基础配置第11张

它帮我们执行node 代码

2、webpack基础配置第12张

输出了我们的内容

2、webpack基础配置第13张

我们明明一行代码却输出了很多。

wepack的功能是打包。支持我们js的模块化。

也就是说我们可以在index.js里面写一些模块化的代码

src/a.js文件及。我们可以在里面写一些node的语法

module.exports='zfpx';

2、webpack基础配置第14张

导出以后,我们可以在index.js内引用。这种语法是不可能在浏览器中跑的。因为这是我们node的一个规范

2、webpack基础配置第15张

我们输出str

2、webpack基础配置第16张

运行我们的代码

2、webpack基础配置第17张

输出结果

2、webpack基础配置第18张

我们最终希望把产出的结果运行在浏览器上

我们在cmd里面再次执行npx webpack命令

2、webpack基础配置第19张

这里会有一个warning的提示,提示你mode选项没有设置。 webpack会默认使用production的模式,

我们先不关心打包的结果是什么。

我们新建一个Index.html文件夹。并引用我们打包后的结果

2、webpack基础配置第20张

我们找到我们的Index.html文件夹,直接双击用浏览器打开。看到我们输出的结果

2、webpack基础配置第21张

webpack帮我们解析了js的模块,查找相关依赖的文件。把这些文件打包成一个文件。解决了浏览器require的问题。相当于它自己实现了一套模块化 的机制

当前打包的机制比较弱。我们想修改输出的目录,就需要手动来配置

手动配置webpack

2、webpack基础配置第22张

在根目录新建webpack.config.js文件。刚才的输出文件夹dist文件夹我们先删除。

2、webpack基础配置第23张

配置webpack.config.js文件

webpack是node写出来的

path路径必须是一个绝对路径,这时候需要node的核心模块

let path=require('path');引用path模块。这是node内置的模块

path.resolve()方法可以把一个相对路径解析成一个绝对路径

2、webpack基础配置第24张

这里我们使用Run Code查看输出的结果。发现path.resolve('dist')就是根目录的dist文件夹的路径

2、webpack基础配置第25张

这里我们一般都会写上个__dirname,它表示当前根目录下产生一个dist目录

2、webpack基础配置第26张

这样我们就有个入口和出口。

我们还希望打包出来的代码我们能看的见,不是压缩后的代码

这里我们为了能看清楚。是打包之前的代码,不是压缩之后的代码

我们选择开发模式

mode:'development',//模式 默认两种 production development

2、webpack基础配置第27张

再次运行npx webpack。这个时候我们打包出来一个bundle.js文件

2、webpack基础配置第28张

这个bundle.js就是我们打包出来的结果

2、webpack基础配置第29张

webpck.config.js文件的名字可以修改吗?

那么为什么默认叫这个名字

node_modules/webpack-cli/bin/config-yargs.js里面

2、webpack基础配置第30张

webpack.config.js or webpackfile.js这是默认的两个名字,默认用的是前者

那么这个名字名字可以不可以改呢?这是我们后续要说的

最终代码

2、webpack基础配置第31张2、webpack基础配置第32张
//webpack是node写出来的 node的语法
let path=require('path');
console.log(path.resolve('dist'));
module.exports = {
    mode:'development',//模式 默认两种 production development
    entry:'./src/index.js',//入口
    output: {
        filename:'bundle.js', //打包后的文件夹名
        path:path.resolve(__dirname,'dist'),//路径必须是一个绝对路径
    }
}
webpack.config.js

免责声明:文章转载自《2、webpack基础配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Netty实现服务端客户端长连接通讯及心跳检测Tomcat 和 Resin 比较,哪个更适合你?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[WCF]将WCF程序部署在IIS上

WCF 机制确实不错,虽然谈不上对它有多了解,但仅从应用的角度看,有两个显著:封装通信,契约编程。下面演练一个Demo 来看看如何将 WCF 部署在IIS里头。这个 Demo 服务器提供一个运算服务,客户端根据服务器契约调用该服务,得到结果。 1,新建一个目录(IIS具有访问权限的,所以别在系统目录中创建) IISHostedCalcService,然后在...

git基础

1. Git配置 Git 提供了一个叫做git config 的工具,专门用来配置或读取相应的工作环境变量。这些环境变量,可以存放在以下三个不同的地方: /etc/gitconfig文件:系统中对所有用户都普遍适用的配置。若使用git config 时用--system 选项,读写的就是这个文件。 ~/.gitconfig文件:用户目录下的配置文件只适...

js与Nodejs的单线程和异步--初探

Event Loop Event Loop : 浏览器使用 Event Loop 来协调 DOM 事件、UI 渲染、脚本执行和网络事件等。 Task Queue (Event Queue) :每当 DOM 事件、计时器事件或者网络事件被触发时,它们的回调函数和 Context 都会被压入 Event Queue,而 Event Loop 则会从中取出...

Nodejs进阶书籍

Node.js来一打C++扩展 豆瓣评分:9.1 《Node.js:来一打 C++ 扩展》以 Chrome V8 的知识作为基础,配合 GYP 的一些内容,将教会大家如何使用 Node.js提供的一些 API 来编写其 C++ 的原生扩展。此外,在后续的进阶章节中,还会介绍原生抽象NAN 以及与异步相关的 libuv 知识,最后辅以几个实例来加深理解。...

debian 中安装 phpmyadmin 并启用多服务器配置

更新系统 & 安装 $> su $> apt update && apt install phpmyadmin 配置 安装时,phpMyAdmin 一般至少会有两个地方需要用户干预: root 密码,这个可以留空,让它生成一个随机密码。特别是在debian 系统中:mysql的root帐号只能通过系统root帐号启用...

小程序多业务线融合【完整分包业务接入】

应用场景 同一个主体(公司、部门)下有多个小程序 这些小程序,由一个主小程序和后来新建的多条业务线构成(每条业务线拥有独立的小程序) 各业务线的小程序需要挂载到主程序下面,因为需要主程序导流 同时各业务线自己的小程序也照常发布更新 一套代码,通过打包命令,来生成独立包和分包(分包生成完需要拷贝到主程序的subPages目录下) 项目概述 我的这条业务...