hello大家好,本节主要是介绍webpack的安装与初步使用。
-
初始化
- 首先新建一个文件夹learnWebapck,这个文件夹作为我们学习webpack的项目文件。
- 在文件夹内运行
npm init -y
来初始化文件内容,运行npm install webpack webpack-cli -D
来局部安装webpack和webpack-cli,不建议全局安装webpack,因为容易造成冲突。 - 安装完毕之后运行
npx webpack --version
和npx webpack-cli --version
来测试是否安装成功,当输出对应的版本信息的时候就代表已经安装成功了。
-
第一次打包
- 接下来新建一个文件夹src,在src里新建index.js,写入代码
console.log('表弟');
- 然后通过命令行使用webpack来打包这个index.js文件。运行命令行
npx webpack './src/index.js'
可以看到webpack将index.js打包到了dist文件夹下的main.js,这个dist文件夹是webpack默认的打包路径,如果此文件夹不存在,webpack会自己创建一个。 - 另外我们也看到了有黄色的警告,说我们没有手动配置webpack参数,它默认使用了production模式打包,我们先不管这个警告。
- 接下来新建一个文件夹src,在src里新建index.js,写入代码
4. 看一下main.js,可以发现webpack将我们的源码做了包装,这个就是打包后的代码
![图片.png](https://upload-images.jianshu.io/upload_images/1934919-39ffb22aaf39967a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
-
在html页面上显示
- 接下来在dist文件夹里创建一个index.html并且引入main.js,
- 在浏览器里打开index.html,检查页面输出会发现表弟两个字。
- 到目前为止一个最最最最简单的示例就已经完成。
-
提升难度
-
那么我们来稍微提高一下难度,安装一个非常流行的包loadsh,
npm install loadsh -D
。安装完毕之后用loadsh来写一些稍微复杂的代码import _ from 'loadsh'; function component() { var div = document.createElement('div'); div.innerHTML = _.join(['你好','表弟']); return div; } var el = component(); document.body.appendChild(el);
这几行代码的意思是在创建一个div,写入你好表弟,最后把div放到页面上,好了让我们来运行一下看看吧
npx webpack './src/index.js'
运行完毕刷新浏览器查看页面已经输出了你好表弟
-
5.使用配置
到目前为止我们还是在零配置的情况下进行打包的,虽然在 webpack v4 中,可以无须进行任何配置即可使用,然而大多数项目仍然会需要很复杂的设置,如果每次修改配置都要在命令行里手动输入的话,那简直太折磨人了。所以下面让我们创建一个配置文件webpack.config.js
- 设置入口文件和输出目录
const path = require('path');
module.exports = { entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist')
}
};
这段代码的意思是,entry代表的是webpack打包的入口文件,也就是说从这个文件开始打包,output里配置的输出文件,输出文件的名称的main.js,输出路径是dist文件夹,path.resolve的意思是将相对路径转成绝对路径
- 然后使用配置文件来打包代码,运行
npx webpack --config webpack.config.js
--config webpack.config.js这个意思就是我们要使用的配置文件是webpack.config.js
好的开始执行,ok运行完毕,刷新浏览器查看页面发现一切正常
- 配置npm script
npm script你可以理解一个快捷方式,可以简便的运行你预先设置好的命令行。打开package.json文件,在scripts内写入
"build":"webpack --config webpack.config.js"
然后在命令行里运行npm run build
即可运行对应的命令了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。