初识webpack打包,小白入门

前言:

webpack是一款基于node的构建工具,其中一大特色就是打包

因为现在前端已经工程化开发,写的代码已经不能直接在浏览器上运行了

这时候webpack会帮你把代码进行编译,打包成浏览器识别的js文件

而你需要做的就是配置打包参数,然后引入打包好的js文件运行即可(当然这一步webpack也帮你做好了)

开始创建demo

Tips:接下来我们会创建几个js文件,用webpack打包后使用生成的js文件,使得html正常在浏览器显示

mkdir webpack-demo // 创建webpack-demo文件
cd webpack-demo // 进入webpack-demo文件
npm init -y // 生成package.json文件

执行webpack -v 查看是否已经安装,若无安装则执行下面命令安装:

npm install webpack webpack-cli --save-dev // 安装webpack

现在创建一下目录结构、文件和内容:

src/show.js代码:

//声明一个函数,最终做为一个模块被导出
const show = content => {const box = document.getElementById('box')box.innerHTML = `你好${content}`
}export {show} //ES6导出模块的语法

src/main.js代码:

import { show } from './show' //ES6导入模块的语法,‘./’为main.js的根目录src,ES6里导入的模块为js话不需要加后缀名
show('123123')

index.html代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>起步</title></head><body><div id="box"></div><!-- bundle.js是一会打包后生成的文件 --><script src="dist/bundle.js"></script></body>
</html>

config/webpack.config.js代码:

const path = require("path")
module.exports = {entry: { // entry入口index:'./src/main.js',}, // 入口文件 类型:string、object、arrayoutput: { // output出口path:path.resolve(__dirname,'../dist'), // path.resolve为nodejs的固定语法,用于找到当前文件的绝对路径filename: "bundle.js" // 输出的文件名},mode: "development", // 定义打包的环境}

在终端执行命令:

webpack --config config/webpack.config.js

不出意外会出现类似这样的显示:

此时目录结构多了一个dist文件以及bundle.js文件

这时候将index.html在浏览器上打开就可以跑通了

此时我们就已经将src下的两个文件打包好了,可以正常的在浏览器上跑了

Tips:每次执行webpack --config config/webpack.config.js太麻烦,所以在package.json中可以配置命令执行,接下来只要执行:npm run build 即可

到这里,一个webpack打包的demo就结束了

其他webpack配置可以根据webpack官网的指南顺着走一遍

配置文件:

  1. entry:入口文件(你要打包,就告诉我打包哪些)
  2. output:出口文件(我打包完了,给你放到哪里)
  3. module:模块(放lorder,编译浏览器不认识的东西)
  4. plugins:插件(辅助开发,提高开发效率)
  5. devServer:服务器(webpack提供的本地服务器)
  6. mode:模式,分为开发模式、生产模式。此为4.X里新增的

语法解释:

  1. entry 入口文件

    1. 只打包一个文件(单入口),写个字符串
    2. 把多个文件打包成一个文件,写个数组
    3. 把多个文件分别打包成多个文件,写成对象
    4. webpack把打包后的文件叫Chunck
  2. output 出口文件
    1. filename 输出文件的名称

      1. 输出一个文件,写个字符串
      2. 输出多个文件,文件名前面加个标识符(id/name/hash)
    2. path 输出文件的路径
      1. 路径必需为绝对路径
      2. __dirname是nodejs里的一个模块,表示当前文件的绝对路径
      3. path为nodejs的系统模块,直接引入后调用path.resolve(__dirname,‘输出文件的路径’);

此文借鉴这篇文章后方便自己理解编写:https://blog.csdn.net/ikaivon/article/details/81477296?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.essearch_pc_relevant&spm=1001.2101.3001.4242.1

初识webpack打包相关推荐

  1. Webpack打包图片-JS-Vue文件

    打包图片等静态资源 资源模块 | webpack 中文文档 (docschina.org) 1.加载图片案例准备 为了演示我们项目中可以加载图片,我们需要在项目中使用图片,比较常见的使用图片的方式是两 ...

  2. 使用webpack打包后,vscode中vue代码变白色的解决办法

    使用webpack打包后,vscode中vue代码变白色的解决办法 卸载vetur,重装vetur

  3. webpack打包HTML配置自动,十三、HtmlWebpackPlugin的使用 ------- 2019-04-25

    一.作用:htmlWebpackPlugin插件会在webpack打包结束后,自动帮我们生成一个HTML文件,并把打包生成的js自动引入到这个HTML文件中: 二.安装 :npm install ht ...

  4. webpack打包缓存_【第835期】Webpack 的静态资源持久缓存

    原标题:[第835期]Webpack 的静态资源持久缓存 前言 你现在还在休假吗?早读课节前以web pack漫谈结尾,今年就以web pack开始吧.今日早读文章由众成翻译@yanni4night带 ...

  5. webpack打包优化_前端性能优化:webpack性能调优与Gzip原理

    链接:https://juejin.im/book/5b936540f265da0a9624b04b 从输入 URL 到显示页面这个过程中,涉及到网络层面的,有三个主要过程: DNS 解析 TCP 连 ...

  6. 自定义配置webpack打包文件

    基础使用 安装 npm install webpack -g 模块化程序(配置过程忽略此步骤) cale.js function add(a,b){return a + b; } module.exp ...

  7. 使用webpack打包的后,公共请求路径的配置问题

    在我们公司,和后台接接口时,公共的请求路径我们是单独抽出来的,放在一个独立的public.js中,在public.js中存入那个公共变量 公共变量是这样 在其他地方使用ajax时,我们就这样使用 这种 ...

  8. Webpack 打包学习

    前段时间项目主管让测试组长研究webpack打包方式,闲暇时自己想学习一下,留着备用,本周日学习一下. https://www.jianshu.com/p/42e11515c10f 转载于:https ...

  9. webpack打包后自动弹出浏览器查看效果

    当配置了webpack自动打包和预览页面后,每次打包都要复制 http://localhost:8080/ 到浏览器中查看效果,那么我们能不能在打包后自动打开浏览器查看效果呢,答案是可以的. 在pac ...

最新文章

  1. 是否存在两台 MacOS 之间无缝切换的办法?
  2. 字符串 mysql索引,长字符串的MySQL索引
  3. 关于NodeJS配置HTTPS服务、阿里云申请HTTPS证书
  4. 科研人员的办公室是怎样的?
  5. python注入点查找_sqlmap常用注入点检测爆破命令
  6. git+repo 代码提交
  7. 选购多媒体音箱常见哪些误区?
  8. Spring 3.x 企业应用开发实战(含CD光盘1张)
  9. 【SQL】CONNECT BY 层次化查询
  10. Machine Learning——Homework 7
  11. 网上下载或自己编程实现任意一种多变量决策树算法,并观察其在西瓜数据集3.0上产生的结果。
  12. 数据结构队列顺序循环队列、加入、删除、取头元素
  13. 600,000,002,200,300,400等开头的股票都是什么意思
  14. 主流车品牌魅力指数榜别克、东风日产、一汽丰田列前三;亚航推出东盟超级应用平台 | 美通企业日报...
  15. 黄金期货对比现货黄金有哪些优势
  16. Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition程序运行记录
  17. 哪里才能下载到好用的CAD建筑练习图纸?
  18. mulesoft MCIA 常用词汇、知识点汇总
  19. Ubuntu系统下C语言编译以及Makefile编译C语言程序
  20. oracle 中的口令管理,oracle口令文件的管理

热门文章

  1. linux系统安装hass.io教程,威联通NAS虚拟机ubuntu安装homeassistant之hass.io指南
  2. 王者微信哪个服务器好,王者荣耀:微信区QQ区除了实力差异巨大,还有哪些不一样之处?...
  3. cad中直径符号不显示_CAD中输入特殊字符,正负符号会,度数符号会,但这个你不一定会...
  4. uniapp和小程序面试题一
  5. 【阿里云】ECS 使用 Ossfs 挂载 OSS 存储
  6. 【face++ 人脸识别】学习笔记
  7. Word查找技巧:批量删除文档中空格、空行
  8. php如何分割字符串?php mb_substr分割字条串,解决中文乱码问题,支持分割中文!
  9. Unity之射线穿透
  10. 高分区Localdimming方案研讨