概念:本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle
。
理解:webpack 有2个核心:模块化
和 打包
模块化:
打包:
webpack、node、npm之间的关系
1.webpack想要能够正常运行,必须依赖node环境
2.在安装node的时候一般会帮我们安装一个工具,叫做 npm (node packages manager / node包管理工具),这个工具只是为了帮助我们管理node环境下的各种包,比如依赖。
1、下载Node.js(点击此处跳转下载)
2、除了修改默认安装位置,其余一律next(下一步)即可(如无特殊需要,可以直接安装在C盘,但是建议选择另外的磁盘单独建一个文件夹来安装它)。
3、查看版本:
1.键盘 win+r ,以管理员方式运行cmd;
2.输入node -v ,回车;
4、环境变量配置
此处的环境配置主要配置的是 npm 安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在执行类似:npm install express [-g] (后面的可选参数-g,g代表global全局安装的意思)的安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】路径中,占C盘空间。
例如:我希望将全模块所在路径和缓存路径放在我node.js安装的文件夹中(我的文件夹是nodejs),则在我的安装目录下创建两个文件夹【node_global】及【node_cache】
4.1、设置全局目录和缓存目录,创建完两个空文件夹之后,打开cmd命令窗口,输入:
1、npm config set prefix "D:\nodejs\node_global"
2、npm config set cache "D:\nodejs\node_cache"
注意: “D:\nodejs\node_global” 这个是安装在D盘的情况下创建的文件夹路径,如果安装在其他位置,注意文件夹路径是否正确
4.2、设置环境变量,win->搜索环境变量->编辑环境变量
4.3、修改环境变量
4.3.1、将【用户变量】下【Path】的【C:\Users\yao\AppData\Roaming\npm】修改为【D:\nodejs\node_global】
4.3.2、在【系统变量】下新建【NODE_PATH】,输入【D:\nodejs\node_modules】
1、在你喜欢的磁盘下建一个你喜欢的文件夹(名字自定义,但是建议用英文或者英文+数字)用来存放我们的项目,以后我们的所有项目都可以放到这个文件夹里面,方便我们开发和管理,然后通过cmd进入这个文件夹
* 1.1、第一种情况:如果你的文件夹建在C盘(没有跨磁盘),复制该文件夹的全路径,然后输入cd 你复制的路径,回车
* 1.2、第二种情况:如果你的文件夹在其他磁盘,则先进入对应磁盘,然后找到我们的项目文件夹
1、d:
2、cd D:\work\实训课程\examples\web
2、创建一个名为 myWebpackProject 的文件夹(这个文件夹的名字是你自定义的),并且进入该文件夹
3、初始化文件夹
4、安装webpack和webpack-cli (webpack4.0+以后的版本,需要安装webpack-cli)
1、mkdir myWebpackProject && cd myWebpackProject
2、npm init -y
3、npm install webpack webpack-cli --save-dev
疑问:在这里,我们为什么不进行全局安装?
webpack一般包含2个东西:src(开发文件)、dist(发布,全名 distrbution),那么我们先创建src来存放我们的文件
使用webpack打包
1 键盘 win+r ,以管理员方式运行cmd;
2 找到我们的文件夹
3 在src下面新建一个index.js,随便写点代码
4 打包:运行 npx webpack
// npx是运行本地的webpack
npx webpack
5、执行完此命令后,多出了一个包含mian.js的dist文件夹,这就是webpack打包后生成的文件了
{
"name": "webpackday1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack",
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12"
}
}
1、安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
解释:
nrm 的使用:
nrm可以让我们随意的切换镜像源(也就是我们下载包的地址)
使用nrm ls查看我们所有镜像的版本
切换镜像源:nrm use <源名>
1、cnpm i nrm -g
2、nrm ls
3、nrm use taobao