webpack--前端自动化工具
一、下载与安装
//全局安装webpack (不推荐)
npm i webpack -g
npm i webpack-cli -g //局部安装(推荐)
npm i webpack -D
npm i webpack-cli -D npx webpack -v 查看webpack的版本号 注:也可以使用cnpm安装。
二、webpack.config.js文件的配置
//webpack的配置文件,文件名不能改!!!
//万一想改的话,就是 npx wenpack --config webpack.con.js 后面的是更改后的名称
const path=require('path') //引入此模块的目的就是,配置出口文件和入口文件的根路径;
module.exports={
//'development' or 'production' 开发环境配置,第一个是开发环境,production是生产环境!!
mode:"development",
//配置默认的出口文件/入口文件
//首先找到入口文件;
entry:{ //entry入口文件,一个入口文件的话直接写,别写main对象;
main:path.join(__dirname,'./index.js')
},
//出口文件;
output:{
filename:'bundle.js', //出口文件的名,随意;
path:path.join(__dirname,'./dist')
},
//module--模块解析,webpack因为只认识js
module:{
rules:[{
//正则表达式匹配
test:/\.css$/,
use:[
"style-loader", //语法解析;
"css-loader" //解析文件依赖;因为可能会有多个css文件
]
},
{
test:/\.styl$/ , //styl文件的配置;cnpm i stylus-loader stylus -D
use:[
"style-loader",
"css-loader",
"stylus-loader" , //解析成正常css;
//注意顺序规律,从下而上;不能乱;
]
},
//图片解析;
{
test:/\.(jpg|png|svg|gif|jpeg)$/,
use:[
{
loader:"url-loader", //解析图片和解析文件;
//cnpm i url-loader file-loader -D
//url-loader基于file-loader -D
options:{ //图片的配置项
limit:10240
//用来控制当前的文件大小,如果当前文件大小超过所设置的文件大小,会把文件生成一个新的文件插入到dist下,如果比当前所设置的小,会放到打包出来的文件下,以bate64位的形式;
}
}
]
},
]
}
} 注意:css-loader style-loader 这些都是需要安装的
三、ES6转ES5 (babel中文文档)设置----webpack
const path = require('path');
//引入HTML插件;
const HtmlWebPackplugin = require('html-webpack-plugin')
//下载:npm install --save-dev html-webpack-plugin
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
//下载:cnpm i clean-webpack-plugin -D 会随着webpack版本的改变,配置方法也会改变。
module.exports = {
mode: 'development',
devtool:'cheap-eval-source-map', //映射错误
entry: {
main: path.join(__dirname, 'index.js'),
},
output: {
filename: 'es6.js',
path: path.join(__dirname, './dist'),
},
//模块解析;
module: {
rules: [
{
test: /\.css$/,
use: [
"style-loader",
"css-loader"
]
},
//es6转es5
//安装:npm install --save-dev babel-loader @babel/core
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
}
]
},
//插件,是一个数组。
plugins: [
new HtmlWebPackplugin({
template: "./index.html" //依那个HTML文件为模板,就在此写那个文件
}),
new CleanWebpackPlugin()
//注意插件的先后顺序!!!不能变;
]
}
四、 .babelrc 文件的配置
{
"presets": [["@babel/preset-env",{
"useBuiltIns": "usage" //在哪用就在那里转;
}]]
}
直接复制到该文件里面即可!
webpack--前端自动化工具的更多相关文章
- webpack前端构建工具学习总结(四)之自动化生成项目中的html页面
接续上文:webpack前端构建工具学习总结(三)之webpack.config.js配置文件 插件的介绍文档:https://www.npmjs.com/package/html-webpack-p ...
- 前端自动化工具gulp自动添加版本号
之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...
- 学习安装并配置前端自动化工具Gulp
Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...
- Node.js前端自动化工具:gulp
前端自动化工具 -- gulp 使用简介 gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是 ...
- webpack前端构建工具学习总结(一)之webpack安装、创建项目
npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器 ...
- webpack前端构建工具学习总结(二)之loader的使用
Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换. Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为 ...
- webpack前端自动化构建工具
博主不易,不求赞赏,希望把自己遇到的难点写出来,以及希望自己能有能力写出一篇不错的博文. 前端构建工具本人 bootstrap+jquery用gulp vue+element 用webpack 本人最 ...
- 前端自动化工具 -- Gulp 使用简介
gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用 ...
- gulp 前端自动化工具
一开篇 在前端开发的过程中,我们经常会碰到压缩.合并.图片script 等,于是就有了gulp 前端自动化构建工具,它能帮你在前端开发中,节省时间. 1,安装 node.js 因为gulp 构建工具是 ...
- 前端自动化工具 -- gulp https://angularjs.org/
gulp是基于流的前端自动化构建工具. gulp是基于stream流的形式,也就是前一个函数(工厂)制造出结果,提供后者使用. 同样的,也是包括基本用法和各插件的使用. 二.基本用法--插件使用 gu ...
随机推荐
- flex 的经典用法
Document 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 25 ...
- 用html标签+css写出旋转的正方体
有一段时间没写代码了,刚写有点手生,无从下手,为了能快速进入状态,就写了这一个小东西,纯用标签和样式表写.下面看一下我写的. 这一段是样式表: <style> *{ margin: 0; ...
- 【转载】POST/GET请求中RequestBody和RequestParam的应用场景
原文链接:https://blog.csdn.net/justry_deng/article/details/80972817 原文链接:https://www.jianshu.com/p/49819 ...
- test命令-linux shell 脚本
#!/bin/bash # This is program will check you file name,which sys has or not,end print types. #2019/0 ...
- oracle10G锁查询、批量杀锁及常用sql
前言 记录1.oracle10G锁查杀技巧 2.资源检查方面的sql 锁查杀 找出所有被锁的对象.注意:不一定是死锁,大部分应该是阻塞,如果发现大量的锁对象,一定要检查程序逻辑了,优化sql sele ...
- 第11篇Kubernetes部署微服务电商平台
kubernetes部署sock-shop微服务电商平台: 准备条件 确保kubernetes可以访问:reg.yunwei.edu镜像库 需要准备镜像: 部署微服务 ...
- H3C F100-S-G2接口配置
网络环境简单一台F100-S-G2(192.168.1.197),一台S3600,三台服务器(同一网段192.168.1~3),实现互通. 其他都不用说了配置成同一网段地址就行,主要说一下F100配置 ...
- mysql协议解析
目录 目录 1 交互过程 1.1 握手认证阶段 1.2 命令执行阶段 2 基本类型 2.1 整型值 2.2 字符串(以NULL结尾)(Null-Terminated String) 2.3 二进制数据 ...
- 【Shell】ps -ef 和ps aux
两者没太大差别 追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同.现 ...
- Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)
主键的创建方式 1. create table stud( id int not null unique, name ) ); mysql> desc stud; +-------+------ ...