初识webpack打包
初识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官网的指南顺着走一遍
配置文件:
- entry:入口文件(你要打包,就告诉我打包哪些)
- output:出口文件(我打包完了,给你放到哪里)
- module:模块(放lorder,编译浏览器不认识的东西)
- plugins:插件(辅助开发,提高开发效率)
- devServer:服务器(webpack提供的本地服务器)
- mode:模式,分为开发模式、生产模式。此为4.X里新增的
语法解释:
- entry 入口文件
- 只打包一个文件(单入口),写个字符串
- 把多个文件打包成一个文件,写个数组
- 把多个文件分别打包成多个文件,写成对象
- webpack把打包后的文件叫Chunck
- output 出口文件
- filename 输出文件的名称
- 输出一个文件,写个字符串
- 输出多个文件,文件名前面加个标识符(id/name/hash)
- path 输出文件的路径
- 路径必需为绝对路径
- __dirname是nodejs里的一个模块,表示当前文件的绝对路径
- 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打包相关推荐
- Webpack打包图片-JS-Vue文件
打包图片等静态资源 资源模块 | webpack 中文文档 (docschina.org) 1.加载图片案例准备 为了演示我们项目中可以加载图片,我们需要在项目中使用图片,比较常见的使用图片的方式是两 ...
- 使用webpack打包后,vscode中vue代码变白色的解决办法
使用webpack打包后,vscode中vue代码变白色的解决办法 卸载vetur,重装vetur
- webpack打包HTML配置自动,十三、HtmlWebpackPlugin的使用 ------- 2019-04-25
一.作用:htmlWebpackPlugin插件会在webpack打包结束后,自动帮我们生成一个HTML文件,并把打包生成的js自动引入到这个HTML文件中: 二.安装 :npm install ht ...
- webpack打包缓存_【第835期】Webpack 的静态资源持久缓存
原标题:[第835期]Webpack 的静态资源持久缓存 前言 你现在还在休假吗?早读课节前以web pack漫谈结尾,今年就以web pack开始吧.今日早读文章由众成翻译@yanni4night带 ...
- webpack打包优化_前端性能优化:webpack性能调优与Gzip原理
链接:https://juejin.im/book/5b936540f265da0a9624b04b 从输入 URL 到显示页面这个过程中,涉及到网络层面的,有三个主要过程: DNS 解析 TCP 连 ...
- 自定义配置webpack打包文件
基础使用 安装 npm install webpack -g 模块化程序(配置过程忽略此步骤) cale.js function add(a,b){return a + b; } module.exp ...
- 使用webpack打包的后,公共请求路径的配置问题
在我们公司,和后台接接口时,公共的请求路径我们是单独抽出来的,放在一个独立的public.js中,在public.js中存入那个公共变量 公共变量是这样 在其他地方使用ajax时,我们就这样使用 这种 ...
- Webpack 打包学习
前段时间项目主管让测试组长研究webpack打包方式,闲暇时自己想学习一下,留着备用,本周日学习一下. https://www.jianshu.com/p/42e11515c10f 转载于:https ...
- webpack打包后自动弹出浏览器查看效果
当配置了webpack自动打包和预览页面后,每次打包都要复制 http://localhost:8080/ 到浏览器中查看效果,那么我们能不能在打包后自动打开浏览器查看效果呢,答案是可以的. 在pac ...
最新文章
- 是否存在两台 MacOS 之间无缝切换的办法?
- 字符串 mysql索引,长字符串的MySQL索引
- 关于NodeJS配置HTTPS服务、阿里云申请HTTPS证书
- 科研人员的办公室是怎样的?
- python注入点查找_sqlmap常用注入点检测爆破命令
- git+repo 代码提交
- 选购多媒体音箱常见哪些误区?
- Spring 3.x 企业应用开发实战(含CD光盘1张)
- 【SQL】CONNECT BY 层次化查询
- Machine Learning——Homework 7
- 网上下载或自己编程实现任意一种多变量决策树算法,并观察其在西瓜数据集3.0上产生的结果。
- 数据结构队列顺序循环队列、加入、删除、取头元素
- 600,000,002,200,300,400等开头的股票都是什么意思
- 主流车品牌魅力指数榜别克、东风日产、一汽丰田列前三;亚航推出东盟超级应用平台 | 美通企业日报...
- 黄金期货对比现货黄金有哪些优势
- Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition程序运行记录
- 哪里才能下载到好用的CAD建筑练习图纸?
- mulesoft MCIA 常用词汇、知识点汇总
- Ubuntu系统下C语言编译以及Makefile编译C语言程序
- oracle 中的口令管理,oracle口令文件的管理
热门文章
- linux系统安装hass.io教程,威联通NAS虚拟机ubuntu安装homeassistant之hass.io指南
- 王者微信哪个服务器好,王者荣耀:微信区QQ区除了实力差异巨大,还有哪些不一样之处?...
- cad中直径符号不显示_CAD中输入特殊字符,正负符号会,度数符号会,但这个你不一定会...
- uniapp和小程序面试题一
- 【阿里云】ECS 使用 Ossfs 挂载 OSS 存储
- 【face++ 人脸识别】学习笔记
- Word查找技巧:批量删除文档中空格、空行
- php如何分割字符串?php mb_substr分割字条串,解决中文乱码问题,支持分割中文!
- Unity之射线穿透
- 高分区Localdimming方案研讨