带你使用webpack快速构建web项目的方法


Posted in Javascript onNovember 12, 2020

使用webpack构建web项目以及热部署插件的使用,按以下步骤,能帮助你快速构建和理解~
详细学习还得靠官方文档!

一,基础构建部分

大前提!你得先安装了Node.js此处不赘述。

1,创建一个文件夹

带你使用webpack快速构建web项目的方法

2,在当前文件夹子下打开命令行工具

带你使用webpack快速构建web项目的方法

3,项目初始化(创建package.json文件)

npm init -y

带你使用webpack快速构建web项目的方法

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

显示安装完成:

带你使用webpack快速构建web项目的方法

5,补充一个依赖-插件:

用途:如果没有此插件需要我们手动给index.html文件引入 bundle.js。使用此插件我们将会自动在打包的时候创建index.html,且无须关心bundle.js的文件路径。

复制粘贴到【命令行工具】回车

npm install html-webpack-plugin --save-dev

插件如何配置使用,html-webpack-plugin官方说明文档

此时查看文件夹内容如下:

带你使用webpack快速构建web项目的方法

6,补充文件结构:

带你使用webpack快速构建web项目的方法

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文件。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script src="bundle.js"></script>
</head>
<body>

</body>
</html>

终端输入:webpack

带你使用webpack快速构建web项目的方法

带你使用webpack快速构建web项目的方法

打包成功后,此时dist目录下会多一个,bundle.js文件,
若使用html-webpack-plugin插件其实index.html会自动创建并且覆盖原先我自己创建的index.html。

带你使用webpack快速构建web项目的方法

打开dist目录下的index.html文件。查看测试结果

带你使用webpack快速构建web项目的方法

测试打包到虚拟服务器内存

大家都知道的小技巧~

在package.json文件下配置下webpack-dev-server的快捷键。

带你使用webpack快速构建web项目的方法

配置完成后就可以在终端使用:npm run dev 进行打包了。

自动打开页面~注意看地址栏与上边本地打开的区别。

带你使用webpack快速构建web项目的方法

到这里,已经做好了基本的搭建了。

踩过的坑:
不指定版本号直接安装以下依赖:

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项目内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript 贪吃蛇实现代码
Nov 22 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
自定义刻度jQuery进度条及插件
Sep 02 Javascript
jquery的幻灯片图片切换效果代码分享
Sep 07 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
Oct 01 Javascript
基于vue的fullpage.js单页滚动插件
Mar 20 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
Mar 26 Javascript
js继承的这6种方式!(上)
Apr 23 Javascript
angular4+百分比进度显示插件用法示例
May 05 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
Jun 01 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 #Javascript
详解vue 组件的实现原理
Nov 12 #Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 #Javascript
vue 图片裁剪上传组件的实现
Nov 12 #Javascript
js前端传json后台接收‘‘被转为quot的问题解决
Nov 12 #Javascript
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 #Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 #Javascript
You might like
星际争霸中的热键
2020/03/04 星际争霸
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
php解决安全问题的方法实例
2019/09/19 PHP
Javascript中的Split使用方法与技巧
2007/03/09 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python中property属性实例解析
2018/02/10 Python
python 自动批量打开网页的示例
2019/02/21 Python
Django组件content-type使用方法详解
2019/07/19 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
美国创意之家:BulbHead
2017/07/12 全球购物
会话Bean的种类
2013/11/07 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
医药代表个人的求职信分享
2013/12/08 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
你需要掌握的20个Python常用技巧
2022/02/28 Python
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python
VUE递归树形实现多级列表
2022/07/15 Vue.js