学习来源:黑马程序员
webpack 4.x
- 新建一个文件夹用vs code打开
- 在命令行运行:
npm init -y
初始化项目 - 在项目根目录创建目录结构:src源代码目录,dist产品目录
- 创建html页面在src目录下,如:index.html
- 新建一个index.js文件为打包入口文件
- 在命令行:
cnpm i webpack -D -cli
- 全局运行npm i cnpm -g
- 在根目录下创建一个:webpack.config.js文件
- 在该文件中输入:
module.exports = {mode:’development‘ //production}
向外暴露一个打包的配置对象(3.x无,无法原生代码压缩)
- 因为webpack是基于Node构建的,所以支持所以nodeAPI和语法 - 命令行运行:
webpack
- 打包输出文件是dist->main.js
- 在html文件的head下添加
<script src="../dist/main.js"></script>
chrome浏览器支持哪些API,Node.js就支持哪些,webpack就支持哪些
修改成为自动打包更新:
- 命令行:
cnpm i webpack-dev-server -D
- 在package.json文件下,“scripts”:{}下添加
“dev”:"webpack-dev-server"
- 命令行:npm run dev
- 修改html下head下:
<script src="/main.js"></script>
此时main.js是存在内存中的
修改自动打开浏览器
- 修改package.json 中
“dev”:"webpack-dev-server --open --port 3000 --hot --progress --compress"
或者“dev”:"webpack-dev-server --open --port 3000 --hot --host 127.0.0.1"
或者:“dev”:"webpack-dev-server --open firefox--port 3000 --hot --host 127.0.0.1"
把页面放入内存中,并将打包文件追加其后
- 在命令行输入:
cnmp i html-webpack-plugin -D
- 在webpack.config.js中输入
const path = equire('path')
const HtmlWebPackPlugin = require('html-webpack-plugin') //导入在内存中自动生成index页面的插件
//创建一个插件的实例对象
const htmlPlugin = new HtmlWebPackPlugin({
template:path.join(__dirname,'./src/index/html'),
filename:'index.html'
})
module.exports = {
mode:'develpoment',
plugins:{
htmlPlugin
}
}