带你使用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 相关文章推荐
SeaJS入门教程系列之完整示例(三)
Mar 03 Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
Javascript 实现放大镜效果实例详解
Dec 03 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
jQuery实现的浮动层div浏览器居中显示效果
Feb 03 Javascript
webpack教程之webpack.config.js配置文件
Jul 05 Javascript
webpack进阶——缓存与独立打包的用法
Aug 02 Javascript
Angularjs实现上传图片预览功能
Sep 01 Javascript
js装饰设计模式学习心得
Feb 17 Javascript
js 数组详细操作方法及解析合集
Jun 01 Javascript
JavaScript基础之this和箭头函数详析
Sep 05 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
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
读jQuery之十 事件模块概述
2011/06/27 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
jQuery链使用指南
2015/01/20 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
jsTree使用记录实例
2016/12/01 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
python django集成cas验证系统
2014/07/14 Python
Python自定义简单图轴简单实例
2018/01/08 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
音乐课外活动总结
2015/05/09 职场文书
获奖感言范文
2015/07/31 职场文书