带你使用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中void(0)的具体含义解释
Aug 02 Javascript
javascript复制对象使用说明
Jun 28 Javascript
使用Node.js实现HTTP 206内容分片的教程
Jun 23 Javascript
全面了解函数声明与函数表达式、变量提升
Aug 09 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
Oct 13 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
Jul 13 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
Apr 11 Javascript
js实现div色块拖动录制
Jan 16 Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
Nov 17 Vue.js
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
PHP输出时间差函数代码
2013/01/28 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
pycharm设置注释颜色的方法
2018/05/23 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
python与mysql数据库交互的实现
2020/01/06 Python
python合并多个excel文件的示例
2020/09/23 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
台湾森森购物网:U-mall
2017/10/16 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
餐饮业创业计划书范文
2014/01/06 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
护理专科自荐书范文
2014/02/18 职场文书
2014年中秋寄语
2014/08/11 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
Python基础详解之邮件处理
2021/04/28 Python
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android