关于webpack
webpack
是一个模块打包器,能够把所有的文件都当做是一个模块
它把所有的文件资源(js,json,css,sass,图片)都看作为模块
将这些文件资源解析处理以后,生成对应的打包文件
使用webpack构建一些应用也是非常方便,比如基于
node webpack vue-cli构建vue程序(脚手架)
webpack是一个基于node.js运行环境,用于打包本地文件
之间相互依赖并最终输出成单个文件的工具,就像npm工具可以下载安装包一样
webpack能够帮助我们解决
1.打包js文件
文件结构
dist目录
src目录
app.js
1.js
index.html
在项目的根目录下面初始化
npm init -y
装包 webpack
npm install webpack@3 -g
打包
webpack 源文件路径 打包到新文件路径
webpack ./src/app.js ./dist/bundle.js
在index.html中 引入打包后的文件路径
配置 行命令繁琐
在新项目根目录下新建一个文件:webpack.config.js
2.打包json文件
直接暴露,然后引入即可,js插件解决
3.打包css文件
安装:npm i style-loader css-loader -D
创建style.css 并书写相关样式
app.js中引入:require('./style.css')或者 import css from './style.css'//引入时加后缀名
配置 在webpack .config.js 加入
module:{
rules:[{
test:/\.css$/,//解析css
use:['style-loader','css-loader']//从右向左解析
}]
}
在cmd 运行webpack进行打包
4.打包css中的图片
安装:npm i url-loader file-loader -D
配置webpack.config.js (放在reules配置css下面)
use:[{
loader:'url-loader',
option:{
limit:8192,
}
}]运行cmd webpack打包
5.打包处理页面里面的img标签
安装 npm install html-withimg-loader --save
运行 webpack.config.js中配置modules.rules(放在图片下面)
{
test:/\(htm|html$/i,
loader:'html-withimg-loader'
}使用插件html-webpack-plugin
需要下载webpack到本地
npm install --save-dev webpack@3
下载包
npm i html-webpack-plugin -S
插件放在module 后面
配置
filename
就是html文件的文件名,默认是index.html
template
指定你生成的文件所依赖哪一个html文件模板,模板类型可以是html、jade、ejs等
。但是要注意的是,如果想使用自定义的模板文件的时候,你需要安装对应的loader哦。
//引入
var htmlWebpackPlugin = require('html-webpack-plugin')
//插件 放在module 后面
plugins:[
new htmlWebpackPlugin({
//生成的html文件 不用指定输出目录 因为出门文件已经设置
filename:"a.html",
//已经有的html 模板
template:"./index.html" //打包页面
})
]压缩js
为什么要压缩?
压缩文件可以减少文件大小,可以去除不必要的空格和换行,对于图片文件
可以把质量调低,文件大小 小了,网络字节量也就小了,用户下载速度就
会变快如果是新建的文件目录:那么需要初始化:
npm init -y
安装webpack@3.1.0
npm i --save-dev webpack@3.1.0
webpack.config.js文件中新添加一个插件
var webpack = require("webpack");
//plugins: [new webpack.optimize.UglifyJsPlugin() // 压缩js文件]
plugins:[
new htmlWebpackPlugin({
//生成的html文件 不用指定输出目录 因为出门文件已经设置
filename:"a.html",
//已经有的html
template:"./index.html"
}),
new webpack.optimize.UglifyJsPlugin(), //压缩js文件
//单独打包 生成的路径的
// new ExtractTextPlugin("style.css"),
//压缩
// new OptimizeCssplugin()
]运行cmd 进行压缩
压缩css文件
安装包:npm i --save-dev extract-text--webpack-plugin@3.0.2
安装压缩css文件的插件
npm install --save-dev optimize-css-assets-webpack-plugin@3.2.0
在webpack.config.js中配置
压缩图片文件
新建文件目录
dist
src
加载图片
1.jpg
app.js:引入图片
webpack.config.js配置文件
初始化:
npm init -y
安装包
npm i --save-dev url-loader@1.1.2 file-loader@2.0.0 image-webpack-loader@4.6.0
安装webpack到本地
npm i --save-dev webpack@3
在index.js导入这章图片
import "./1.png"
运行cmd webpack进行打包压缩
雪碧图
新建文件目录
dist
src
icons 图标
app.js
index.html
初始化包
npm init -y
安装
npm install webpack-spritesmith@1.0.0
安装webpack
npm install webpack@3 --save-dev
安装 html-webpack-plugin插件
npm i --save-dev html-webpack-plugin@3.2.0
安装导入
const WebpackPlugin = require('html-webpack-plugin')
const Spritesmith
target :{
//生成雪碧图(大图)文件存放路径
image:path.resolve(__dirname,'dist/sprite/sprite.png'),
css:path.resolve(__diname,'dist/sprite/sprite.css')
},
//样式文件中 雪碧图的写法
apiOptions:{
al
}在根目录index.html中
<link rel="stylesheet" href="./sprite.css">
</head>
<body>
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
</body>
在app.js中
document.getElementById("one").classList.add("icon-4");
document.getElementById("two").classList.add("icon-2");
document.getElementById("three").classList.add("icon-right");在webpack.config.js中配置
在plugins下添加
new WebpackHtmlPlugin({
template:"./src/index.html"
})
运行cmd webpack 将在 dist目录下生成 一个文件夹和一个html,里面有打包的精灵图,打开html即可在网页中看到精灵图
关于webpack的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- webpack之傻瓜式教程
接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)
Webstorm+Webpack+echarts ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...
- 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert
使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...
- webpack入门教程之Hello webpack(一)
webpack入门教程系列为官网Tutorials的个人译文,旨在给予想要学习webpack的小伙伴一个另外的途径.如有不当之处,请大家指出. 看完入门教程系列后,你将会学习到如下内容: 1.如何安装 ...
- webpack的使用
1.webpack是什么? 打包前端项目的工具(为项目提高逼格的东西). 2.webpack的基本命令 webpack#最基本的启动webpack命令 webpack-w #提供watch方法,实时进 ...
- Webpack 配置摘要
open-browser-webpack-plugin 自动打开浏览器 html-webpack-plugin 通过 JS 生成 HTML webpack.optimize.UglifyJsPlugi ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
随机推荐
- Java虚拟机一看就懂01
Jvm内存结构 --- 线程隔离区域说明: 1.1.程序计数器 线程私有 是一块内存空间 唯一的一个在Java虚拟机规范中没有规定任何OOM情况的区域(不会OOM?) 1.2.Java虚拟机栈 线程私 ...
- React引入AntD按需加载报错
背景:React使用create-react-app脚手架创建,然后yarn run eject暴露了配置之后修改less配置, 需求:实现antd组件按需加载与修改主题. 一开始是按照webpack ...
- MACOS安装使用kafka
安装(会自动依赖安装zookeeper) brew install kafka 启动zookeeper cd /usr/local/Cellar/kafka/2.1.1/bin/ ./zookeepe ...
- (二)快速搭建 ASP.net core Web 应用
目录 1. 新建项目并上传Github 2. 关联Jenkins实现持续集成 3. 已经磨好枪了,开始写代码 1. 新建项目并上传Github 新建 ASP.NET Core Web 应用程序,勾选“ ...
- 搭建Spark高可用集群
Spark简介 官网地址:http://spark.apache.org/ Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 sp ...
- JS函数提升和变量提升
1.1什么是函数提升和变量的提升? JS引擎在运行整个JS代码的过程中,分为俩步. 第一步是读取和解析JS代码,第二部是执行. 在引擎解析JS代码的时候,当解析器遇见变量声明(var 变量名)和函数声 ...
- SPSS数据分析方法不知道如何选择
一提到数学,高等数学,线性代数,概率论与数理统计,数值分析,空间解析几何这些数学课程,头疼呀.作为文科生,遇见这些课程时,通常都是各种寻求帮助,班上有位宅男数学很厉害,各种被女生‘围观’,这数学为 ...
- 模板汇总——KMP & EX-KMP
1. kmp 相当于往前求出一段字符信息,使得 这段字符信息和前缀相等. void getnext(){ , j = ; nx[] = -; while(j < m){ || b[j] == b ...
- CF992B Nastya Studies Informatics 数学(因子) 暴力求解 第三道
Nastya Studies Informatics time limit per test 1 second memory limit per test 256 megabytes input st ...
- WordCount--统计输入文件的字符数、行数、单词数(java)--初级功能
码云地址: https://gitee.com/YuRenDaZ/WordCount 个人PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 180 ...