【重温JS】前端自动化-静态模块打包工具-webpack

504 阅读4分钟

这是我参与8月更文挑战的第31天,活动详情查看:8月更文挑战

☆☆☆ 今天来学习实练-使用前端自动化工具: ( webpack ) ☆☆☆

可作为初学者的学习路线, 可参考一下, 学习进度也不是特别赶! 持续更新中

结合自己的理解, 用白话文简单又全面概括 JavaScript 学习过程中的基础知识点, 方便加深理解!

开始今天的学习吧! '打牢地基才能筑高楼'! 加油! 认真对待!!

0. 梳理昨日知识:

( gulp ):

gulp 将开发流程中让人痛苦或耗时的任务自动化,从而减少你所浪费的时间、创造更大价值。

1、安装环境: 先安装 node.js --- 安装 gulp

2、什么是 gulp --- 前端自动化工具

3、gulp 中的方法

  • task() / src()  / dest() / pipe() / watch()

4、gulp 插件

  • gulp-sass/ gulp-cssmin/ gulp-uglify/ gulp-concat/ gulp-rename/ gulp-imagemin

一. webpack

前端自动化-静态模块打包工具 webpack

概念: webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。

如封面图所示, 会将我们的 静态资源 统一打包成一个或多个 bundles,

1、useage 安装

1.1、全局安装  

npm install -g webpack
# 或指定版本
npm install -g webpack@<version>

1.2、局部安装  

创建项目目录 --- 进入目录 --- npm 初始化 package --- 安装 webpack

mkdir webpack-demo
cd webpack-demo
npm init -y
npm install webpack webpack-cli --save-dev # 进入项目下安装

如果使用 webpack 版本webpack v4+, 则需要同时安装 webpack-cli

2、配置 package.json 文件   将文件夹打包成 npm 包      npm init -y

安装该插件 :

npm install html-webpack-plugin --save

3、配置 webpack.config.js文件

const path = require('path')
// 模块的暴露
module.exports = {
  entry: './src/entry.js', //入口文件配置项
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
}

4、测试打包项目  

目录结构 :

通过 :  npm run webpack 如下配置则运行对应的命令 npm run dev

(在 package.json 中配置好  )

Scripts:{ "dev":"webpack" }

5、插件 html-webpack-plugin   自动生成 index.html

安装该插件命令 : # 将插件安装到 dependencies 下了

npm install html-webpack-plugin --save  

修改配置文件 webpack.config.js,让插件生效

const HtmlWebpackPlugin = require("html-webpack-plugin"); // 引入插件
plugins : [
        new HtmlWebpackPlugin()    // 创建插件 应用对象
    ]
filename:"newIndex.html",   // 输出新文件名
template:"dist/index.html"   // 修改的 html 文件模板

6、实现打包多个相互依赖的 js 文件过程

通过  require()方法 在入口文件中引入

7、样式的打包 : 通过安装 loader 加载器   可以将静态的样式文件一同打包到 bundle.js 文件中   通过下面命令安装加载器  

在 entry.js 中导入样式 :

require("!style-loader!css-loader!../css/style.css");  

静态资源导入需要 加  !,必须先导入 style-load

8、实现自动监听项目配置文件 不需要每次手动运行 npm run dev

核心思想 : 修改 package.json 文件

"build": "webpack --watch"  

此时运行  npm run build 即可实现自动监听

9、npm 指令

Node Package Manager

node.js的一个包管理工具 ,  同 node.js一起安装的开发工具,方便 js 安装、上传、下载包管理工具

10、dependencies 和  devDependencies 区别

  • devDependencies   开发模式所依赖的包
  • dependencies       线上模式所依赖的包管理

加油, 追梦人-_--

学习就是一个不断进行的过程, 坚持下去, 定有收获!

日积月累, 巩固基础, 早进大厂!

坚持很不容易, 坚持下来更不容易, 你真棒!

Calm Down & Carry On!


更多阅读:

前文更新回顾

【重学 JS】每天学习巩固基础系列文章:

【重温 JS】前端自动化工具-gulp【重温 JS】聊一聊设计模式, 及几种方式 单例|工厂|观察者模式【重温 JS】继承的几种方式 & 闭包 & 单例模式【重温 JS】原型和原型链 | 工厂模式 | 构造函数【重温 JS】巩固基础-面向对象/面向过程/类和对象

【重温 JS】巩固基础之-ajax 原理/缓存/接口【重温 JS】巩固基础 day23-前端也要了解一些数据库

【day1】js 初始【day2】各种运算符【day3】数据类型【day4】循环结构 & 条件语句【day5】函数(重点)【day6】作用域 & 事件

【day7】对象 & 数组方法总结【day8】字符串方法 & 部分排序

【day9】Math 对象 & 封装函数【day10】BOM-浏览器对象模型

【day11】DOM-文档对象模型

【day12】Event 事件对象初识(一)【day13】Event 事件对象初识(二)

【day14】事件委托 & 拖拽原理

【day15】拖拽实现 & 正则初识【day16】正则具体方法

【day17】cookie【day18】ES6

【day19】Js 运动函数的封装

【day21】前三周学习复习【day22】服务器端和客户端

更多期待在路上... 学习 任重而道远==-..-==