使用webpack构建web项目以及热部署插件的使用,按以下步骤,能帮助你快速构建和理解~
详细学习还得靠官方文档!
一,基础构建部分
大前提!你得先安装了Node.js此处不赘述。
1,创建一个文件夹
2,在当前文件夹子下打开命令行工具
3,项目初始化(创建package.json文件)
npm init -y
4,安装依赖
版本搭配如下:
"devDependencies": { "webpack": "^4.17.1", "webpack-cli": "^3.3.9", "webpack-dev-server": "^3.8.2", }
复制粘贴到【命令行工具】回车,安装依赖以上依赖,会自动在package.json写入上述依赖。
npm install webpack@^4.17.1 webpack-cli@^3.3.9 webpack-dev-server@^3.8.2 --save-dev
显示安装完成:
5,补充一个依赖-插件:
用途:如果没有此插件需要我们手动给index.html文件引入 bundle.js。使用此插件我们将会自动在打包的时候创建index.html,且无须关心bundle.js的文件路径。
复制粘贴到【命令行工具】回车
npm install html-webpack-plugin --save-dev
插件如何配置使用,html-webpack-plugin官方说明文档
此时查看文件夹内容如下:
6,补充文件结构:
7,补充webpack.config.js的内容:
webpack官方说明文档整理出来给你后续自己补:
1,webpack的基础配置
2,webpack-dev-server的官方说明文档
3,html-webpack-plugin官方说明文档
// webpack.config.js const path = require('path'); const htmlWebpackPlugin = require("html-webpack-plugin"); module.exports = { entry: './src/main.js',//定义入口文件 output: { filename: 'bundle.js',//定义输出文件名称 path: path.resolve(__dirname, 'dist')//定义输出文件路径 }, devServer: {//配置webpack-dev-server(开发环境用的热部署) contentBase: "./dist",//定义默认打开路径,会自动寻找该路径下的index.html文件。 host:"localhost",//定义主机 port:8000,//定义端口号 open:true//定义是否自动打开页面 }, plugins: [ new htmlWebpackPlugin()//配置此插件会自动生成一个index.html并且自动引入bundle.js从而我们无需关心bundle.js的路径问题。 ] };
在main.js文件编写测试代码。
document.write("hello webpack!!")
二,测试部分
测试打包到本地
注意:若不使用html-webpack-plugin则需要在dist目录下的index.html里手动引入js文件。
Title
终端输入:webpack
打包成功后,此时dist目录下会多一个,bundle.js文件,
若使用html-webpack-plugin插件其实index.html会自动创建并且覆盖原先我自己创建的index.html。
打开dist目录下的index.html文件。查看测试结果
测试打包到虚拟服务器内存
大家都知道的小技巧~
在package.json文件下配置下webpack-dev-server的快捷键。
配置完成后就可以在终端使用:npm run dev 进行打包了。
自动打开页面~注意看地址栏与上边本地打开的区别。
到这里,已经做好了基本的搭建了。
踩过的坑:
不指定版本号直接安装以下依赖:
webpackwebpack-cliwebpack-dev-server
npm install webpack webpack-cli webpack-dev-server --save-dev
使用热部署(webpack-dev-server)会出现如下报错:
Error: Cannot find module 'webpack-cli/bin/config-yargs'
出现该报错的小伙伴可以尝试文章中提到的搭配的版本~
webpack默认只能打包json模块和js模块,对于其他模块的打包例如css,图片,等需要借助于相应的loader插件~下次有机会继续分享。
到此这篇关于带你使用webpack快速构建web项目的方法的文章就介绍到这了,更多相关webpack构建web项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!