【WebPack】WebPack的安装、使用WebPack打包 js/css/img 等文件
目录
webpack和node和npm的关系
npm install webpack -g
-g是全局的意思
项目中一般有两个文件夹:
src,dist(distribution)
WebPack的使用
总结:使用WebPack之后,开发模式是,在src目录下进行模块化开发,开发之后使用WebPack打包成浏览器可以解析的bundle.js文件,直接在html中引用该js文件。
WebPack可以帮我们处理模块之间的依赖,并打包。
当前WebPack版本:4.41.5
使用 WebStorm 建立空项目, 编写main.js和mathUtils.js
main.js
// WebPack支持各种模块化规范,例如:
// 使用CommonJS的模块化规范
const {add,mul}=require('./mathUtils.js')console.log(add(20,30));
console.log(add(20,40));// 使用ES6的模块化规范
import {name,age,height} from "./info";console.log(name);
console.log(age);
console.log(height);
mathUtils.js
function add(num1, num2) {return num1 + num2;
}function mul(num1, num2) {return num1 * num2;
}module.exports={add,mul
}
使用 WebPack 打包:命令 webpack ./src/main.js -o ./dist/bundle.js
WebPack 可以帮助我们处理各种模块之间的依赖,只要告诉 WebPack 入口是 main.js,它会自动分析依赖;
打包成功后,生成 bundle.js, 整体目录结构:
使用生成的bundle.js文件:
点击运行
运行结果
笔记整理
使用npm init
初始化一个package.json
使用配置文件
package.json
{"name": "01-webpack_use","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","build": "webpack"},"author": "","license": "ISC"
}
打包命令webpack
或者npm run build
WebPack分为全局的WebPack和本地项目目录本地的WebPack,
在WebStorm自带的终端,npm install webpack@3.6.0
,安装本地WebPack,指定版本。
在使用时,只要是在终端输入webpack,使用的都是全局的webpack,而在json配置文件定义的webpack脚本会优先在本地中找。
开发时依赖/运行时依赖
如何把css文件也模块化?
根据:webpack 官网示例
安装下列loader:
npm install --save-dev css-loader
npm install style-loader --save-dev
打包命令:npm run build
less-loader 官方示例
使用less文件预处理css
npm install --save-dev less-loader less
添加图片
url-loader 使用示例 - vue 官方文档
配置:webpack.config.js
const path = require('path')module.exports = {entry: './src/main.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'bundle.js'},module: {rules: [{test: /\.css$/, // 正则匹配css文件// css-loader只负责将css文件进行加载// style-loader负责将样式添加到DOM中// 使用多个loader时,是从右向左读,下面两个顺序不能换。use: ['style-loader', 'css-loader']},{test: /\.less$/,use: [{loader: "style-loader"}, {loader: "css-loader"}, {loader: "less-loader"}]},{test: /\.(png|jpg|gif)$/i,use: [{loader: 'url-loader',options: {limit: 10*1024}}]}]}
}
当加载的图片小于limit(开发中一般配置为8kb)时,会将图片编译成base64
大于limit时,需要使用file-loader npm install file-loader --save-dev
,并修改如下配置:
打包后,刷新页面,显示效果:
看背景图片的显示方式,为base64:
下一篇博客:WebPack配置Vue
【WebPack】WebPack的安装、使用WebPack打包 js/css/img 等文件相关推荐
- gulp实现打包js/css/img/html文件,并对js/css/img文件加上版本号
参考打包教程: http://www.cnblogs.com/tugenhua0707/p/4069769.html http://www.cnblogs.com/tugenhua0707/p/498 ...
- webpack打包js/css/scss/less/styl等(可以打包图片)
Webpack 1. 什么是webpack? 打包,压缩各种静态资源的工具(css,js,图片,图标等) 2.目的 性能优化 减少浏览器向服务端请求的次数 节约服务器的的带宽资源 3.如何使用 介绍 ...
- Webpack打包流程系列一:打包JS(JavaScript)文件
前情提示 webpack是什么? 简单而言,webpack是一个模块打包器.它的主要目标是将JavaScript文件打包在一起,打包后的文件用于在浏览器中使用. 使用webpack的目的 当前端项目的 ...
- webpack配置:安装了webpack和webpack-cli,但是运行webpack命令报错_
问题:安装的webpack,webpack-cli.运行webpack命令提示: One CLI for webpack must be installed. These are recommende ...
- gulp打包js/css时合并成一个文件时的顺序解决
1.可以使用插进gulp-order. 2.可以这样的写法: return gulp.src(['js/common.js','js/**/*.js']).pipe(concat('build.js' ...
- Maven——spring mvc加载js css静态资源文件
之前试过<mvc:resources>和<mvc:default-servlet-handler>,都不管用.经过尝试采用了下面的方法,加载成功. 首先是目录结构: commo ...
- flask html中引入js/css/html路径问题
众所周知,html中引入js/css/html时,路径为相对本.html文件的路径. 如: <script type="text/javascript" src=" ...
- Webpack安装及打包js、css文件示例
什么是Webpack Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源.Webpack 可以将多种静态资源 js.css ...
- webpack的安装及使用webpack打包js、css文件
目录 webpack介绍 前端模块化和打包概念介绍 webpack和grunt/gulp的对比 webpack和nodejs的关系 webpack安装 webpack使用示例 环境搭建 使用webpa ...
最新文章
- 设计模式(0)简单工厂模式
- c语言在keil上程序合并,keil中怎么把两个c程序怎么同时同时编译生成一个hex文件...
- 读《纸本书变电子书是很小的事》有感
- 软件测试之测试用例和缺陷报告模板分享
- FS4054单节锂电池充电管理芯片,IC电路图
- 解决0xc00d5212
- 常用小样本数据集介绍与下载汇总
- 相见恨晚的编程学习词典!谁还不是南极滑冰的那个崽儿?!
- android 系统开启流量,安卓系统抖音流量权限怎么打开
- 『Python开发实战菜鸟教程』实战篇:一文带你了解人脸识别应用原理及手把手教学实现自己的人脸识别项目
- 在PC下载微信视频号里面的视频
- JAVA医护人员排班系统计算机毕业设计Mybatis+系统+数据库+调试部署
- Python迭代器是什么?
- rundown of the Objective-C Type Encodings
- 导出excel文件后,显示文件损坏
- win10双显示器,不论设置1还是2为主显示器,背景中,右键只显示“为监视器2设置”?
- 出门问问+android+wear,谷歌联手出门问问建Android Wear应用商店
- 戏说PUBER之----LULU与绿猪的故事(2)
- 计算机毕业设计Node.js+Vue二手图书回收销售网站(程序+源码+LW+部署)
- ArcMap进行专题地图编制
热门文章
- python变量无需创建赋值_Python 第 2 章 变量及赋值运算符
- UVA1374 Power Calcilus快速幂计算
- 切割固定长度字符串的方法_木质踢脚线安装的施工方法
- HDU4741(异面直线间的距离--空间解析几何)
- cocos2d-x初探学习笔记(1)--HelloWorld
- 最精美详尽的 HTTPS 原理图
- 开天辟地 —— Go scheduler 初始化(二)
- 知乎云敲钟、比特币可购买特斯拉、用户隐私收集新规五一生效、 软件疯长等|Decode the Week...
- 【线上分享】边缘计算与云原生
- 当一百万名记者都嚷嚷着“Facebook 很糟糕”......