前言                                 

    1、什么是webpack 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。把各种游依赖关系的模块 ,打包成浏览器能够识别的文件,其思想就是万物皆模块,它能够将各个模块进行按需加载,不会导致加载了无用或者冗余的代码,所以它还有一个名字叫前端模块化打包工具。

    2、webpack 有哪些功能? 为什么用webpack?

      (代码转换 文件优化 代码分割 模块合并 自动刷新 代码校验 自动发布)。webpack可以使用webpack-dev-server本地开发,热更新模块化开发(import,require),打包后会干净的。例如有10个js文件,只用5个,那么其他文件文件不会打包上线发布。

    3、webpack4.0和webpack3.0区别?

      增加mode属性,可以是development或者production,设置打包环境,development可以获得最好的开发体验。

      module.loader改为module.rules,module.loaders.loader改为module.loaders.use。

      webpack4.0删除合并了CommonsChunkPlugin插件,webpack会默认为你生成共享代码模块。

学习                                 

  首先学习webpack的前提是电脑里nodejs的基础 ,如果没有安装node环境 请看我上篇随便https://www.cnblogs.com/xym0996/p/11898523.html   官方网站进行安装node, http://nodejs.cn/ 下载最新版node包并进行安装。

  1、安装全局:

 npm install webpack -g
npm install webpack-cli -g

     

  2、查看版本:

 webpack -version

     

  3、创建项目:命名为web10的项目(进入项目目录)

    

    初始化项目:

 npm init

    生成package.json文件

  4、安装依赖包   

 npm i  webpack -D
npm i webpack-cli -D

    

    

  5、新建源码目录src src目录里面建一个index.js的文件

    

  6、打印 (随便写点代码 作为测试)

    

  7、打包  命令webpack,     

 webpack --mode=development
webpack --mode=production

    

    web10项目会自动生成一个dist目录

    

    

    同时在dist目录建立一个index.html的文件 在引入main.js

    

    

  运行index.html   f12控制台

    

  可以看到自己打印出来的123已经在控制台中出现

缺点                                

  到这一步webpack已经可以正常的使用了,但是它有一个缺点就是不能实时的动态更新,所以你每次修改了src的

代码 都要webpack重新进行打包然后才能正常显示你要的数据,而且还有一个缺点就是html文件需要自己手动建,而

不是自动建并且帮你引入js文件,所以下一篇随笔会注入热更新的html动态生成的插件及代码。

webpack4.0安装及使用(一)的更多相关文章

  1. webpack4.0在Mac下的安装配置及踩到的坑

    一.什么是webpack是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源.它做的事情是,分析你的项目结构,找到JavaScript模块以 ...

  2. webpack4.0.1安装问题和webpack.config.js的配置变化

    The CLI moved into a separate package: webpack-cli. Please install 'webpack-cli' in addition to webp ...

  3. [转]webpack4.0.1安装问题和webpack.config.js的配置变化

    本文转自:https://blog.csdn.net/jiang7701037/article/details/79403637 The CLI moved into a separate packa ...

  4. webpack4.0各个击破(9)—— karma篇

    webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...

  5. webpack4.0 实战记录

    从零配置webpack4.0 搭建React工程. 基本环境:Node(v8.1.2)+ webpack(v4.16.2) 1.在项目目录 命令窗口  执行  npm init 初始化项目,执行完后项 ...

  6. webpack4.0介绍与使用(一)

    1:webpack的基本使用: ##在网页中会引用那些静态资源: js, css, images, 字体文件和模板文件(.vue)等 ##网页总引用静态资源多了以后会有那些问题: 网页加载速度慢,因为 ...

  7. 10分钟学会前端工程化(webpack4.0)

    一.概要 1.1.前端工程化 随着前端的不断发展与壮大,前端变得越来越复杂,组件化.模块化.工程化.自动化成了前端发展中不可或缺的一部分,具体到前端工程化,面临的问题是如何提高编码->测试-&g ...

  8. webpack4.0报WARNING in configuration警告

    在进行webpack打包工作时,先进行如下步骤 1). 安装webpack:推荐全局命令  cnpm install webpack -g 查看webpack版本 webpack -v 2) . 此时 ...

  9. (一)WebPack4.0 从零开始

    一:WebPack基础知识 (1):webpack的定义 webpack官网给出的定义是:webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler). ...

随机推荐

  1. C标准库stdlib.h概况

    库变量 size_t  这是无符号整数类型,它是 sizeof 关键字的结果 wchar_t  这是一个宽字符常量大小的整数类型. div_t  这是 div 函数返回的结构 ldiv_t  这是 l ...

  2. 机器学习之scikit-learn库

    前面讲到了,这个库适合学习,轻量级,所以先学它. 安装就不讲了,简单.不过得先安装numpy和pandas库才能安装scikit-learn库. 如果安装了anaconda得话,会自带有这个库. -- ...

  3. 【转】python之property属性

    1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ############### class Foo: def ...

  4. P2860()

    题目描述: 为了从F(1≤F≤5000)个草场中的一个走到另一个,贝茜和她的同伴们有时不得不路过一些她们讨厌的可怕的树.奶牛们已经厌倦了被迫走某一条路,所以她们想建一些新路,使每一对草场之间都会至少有 ...

  5. Python类属性与实例属性理解

    按理讲,类属性改变,类的实例对象这个属性也应该被改变,但是在python中实际却不是这样 class test(): name = 111 a = test() b = test() a.name = ...

  6. MySQL系列:一句SQL,MySQL是怎么工作的?

    对于MySQL而言,其实分为客户端与服务端. 服务端,就是MySQL应用,当我们使用net start mysql命令启动的服务,其实就是启动了MySQL的服务端. 客户端,负责发送请求到服务端并从服 ...

  7. heml基础笔记

    1.html:全名是超文本标记语言, hyper text mark language 2.html的标签 <p> :  <+和标签名 p+>结合而成. 每个标签都有自己的结束 ...

  8. Laravel框架安装RabbitMQ消息中间件步骤

    Laravel5.6 整合 RabbitMQ 消息队列 简介: Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关 ...

  9. nyoj 216-A problem is easy ((i + 1) * (j + 1) = N + 1)

    216-A problem is easy 内存限制:64MB 时间限制:1000ms 特判: No 通过数:13 提交数:60 难度:3 题目描述: When Teddy was a child , ...

  10. 力扣(LeetCode)查找常用字符 个人题解

    给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 ...