之前说过老的版本,webpack@3.8.1 这个版本,现在我们来看看,新版本和老版本的区别

  webpack 4 以上的版本

  npm  全称 node package manager (node 包管理工具)

  webpack 是 node 的,所以他遵循 node 语法

  webpack 安装

  1. 本地安装

    npm i webpack webpack-cli -D

  2. 全局安装

    npm i webpack webpack-cli -g -D

  webpack-cli , webpack 的脚手架,实现了部分功能的优化

  1. 可以 0 配置(也就是说我们可以不建 webpack.config.js 文件,自带了一些功能的实现)

   比如:我们可以直接使用 npx webpack 指令之后,将当前 src 目录下的 index.js 文件 打包成 在dist 目录下的 main.js 文件   

  但是,由于只实现了部分优化,一是功能少,二是不够灵活,所以还是需要我们来对环境的配置

  2. 我们如何分辨开发环境,还是生产环境?

    看文件属于什么类:工具类的一般都属于开发环境,插件类的一般都属于生产环境

  3. 我们如何分辨 旧版本 和 新版本的 webpack

    通过 npx 指令  npx webpack 代表新版本的 webpack   webpack 代表旧版本的 webpack

  4. 自己手动的配置 webpack.config.js 文件

    var path=require("path");    // node 自带的插件 用于对路径的处理

    var Htmlwebpackplugin=require("html-webpack-plugin");  // 对 html 文件处理的插件

    module.exports={

      entry:{

          index:"./index.js",

          app:"./app.js"

        },    // entry 代表入口文件,(也就是要被打包的文件)

             // 属性值 可以是代表一个文件的 字符串,也可以是代表对象来表示多个文件

      output:{

        filename:"[name].js"   // filename 代表出口的文件名,(就是打包后的文件), 如果是多个文件,我们一定要这么写

        path:path.resolve("dist")    // 路径  因为是绝对路径,所以我们需要使用 node 中自带的模板,path.resolve 就会找到当前目录下的绝对路径

      },

      mode:"",  // 这个是新版本 webpack 新增的配置属性 如果不写的话,就会给出警告,属性值就两个,porduction 压缩, development 未压缩版

      module:{}  // 我们模块配置所依赖的包  如 在 npm 官网中 输入 css-loader

      plugins:[

        new Htmlwebpackplugin({

          filename:"./index.html",    // 编译后的 html 文件

          template:"index.html",    // 编译前地 html 文件

          minify:{

            collapseWhitespace:true  // 将 html 文件压缩为一行

          },

          chunks:["index","app"]    // 依赖的 js 文件 与 entry 中的属性 保持一致

        })

      ]  // 开发过程中所依赖的插件 如:html-webpack-plugin 插件为例

      devServer:{

        open:true,  // 自动打开浏览器

        contentBase:""  // 配置根目录

      }

    }

  如果我们想使用 webpack 中的虚拟服务器,我们需要下载文件  webpack-dev-server

  1. 下载:npm i webpack-dev-server -D

  2. 启动指令:webpack-dev-server

  如果想使用 npm run 来启动指令:

    我们需要在 package.json 中的 script 中设置

      "start":"webpack-dev-server"  // start 随意起名

      "dev":"npx webpack"   // dev 随意起名

    启动指令

      npm start

      npm run dev

webpack 最新版的更多相关文章

  1. 【webpack结合React开发环境配置】React开发环境配置之Webpack结合Babel8.x版本安装的正确姿势(Webpack最新版4.x结合Babel8.x环境配置步骤)

    1. 安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org[使用淘宝镜像]2. 初始化package.json文件c ...

  2. vue(7)—— 组件化开发 — webpack(1)

    引子 在研究完前面的vue开发后,其实已经可以自己开发点东西了,靠前面的指令集,组件,还有vue-router,还有异步请求这些知识点,是完全可以开发出来的,完全可以达到时下前后端分离的效果. 但是, ...

  3. [WIP]webpack入门

    创建: 2019/04/09  安装 npm install --save-dev webpack # 最新版 npm install --save-dev webpack@<version&g ...

  4. Vue.js 第5章 webpack配置

    为什么我们需要打包构建工具:因为我们以后做项目的时候,会使用到很多种不同的工具或者语言,这些工具或者语言其实浏览器并不支持 webpack 是一个现代 JavaScript 应用程序的模块打包器(mo ...

  5. Vue(基础七)_webpack打包工具用法(上)

    一.前言 1.webpack原理 二.主要内容 1.webpack原理: (1)官网图:我们的项目有多个js, css文件的时候还需要考虑先引入哪一个后引入哪一个,因为这些js文件是相互依赖的,web ...

  6. Webpack3.X版 学习全文

    如果你webpack用的是4.x版本,此文章部分知识有所改动,所以学习时尽量使用3.x的版本. 本文讲解的是Webpack3.0+的知识,努力做到全网最好的webpack3.0教程.文章通过一个半月的 ...

  7. webpack4.x下babel的安装、配置及使用

    前言 目前,ES6(ES2015)这样的语法已经得到很大规模的应用,它具有更加简洁.功能更加强大的特点,实际项目中很可能会使用采用了ES6语法的模块,但浏览器对于ES6语法的支持并不完善.为了实现兼容 ...

  8. webpack 填坑指南

    根据慕课网的教程,重写的一遍基于webpack+react的画廊应用 github地址 第一坑: 使用json-loader的时候require文件的时候报错,显示: Module build fai ...

  9. JavaScript资源大全中文版(Awesome最新版--转载自张果老师博客)

    JavaScript资源大全中文版(Awesome最新版)   目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框 ...

随机推荐

  1. wex5 页面跳转

    页面交互: 3种方法: 1.使用Shell提供的方法 打开另一个页面不需要等待页面返回 功能树上打开 2. 用windowDialog组件 需要等待页面返回 3.内嵌页 windowContainer ...

  2. openlayers之地图截图

    方法1 //this.map._this为初始化地图对象 this.map._this.once('postcompose', function (event) { var canvas = even ...

  3. 关于获取某月某日最后一天时Calendar的cal.getActualMaximum(Calendar.DAY_OF_MONTH)的吐槽

    例如: 在2017.03.29-31号 新建一个Calendar的単例 设置年:2017 设置月:2 int day = cal.getActualMaximum(Calendar.DAY_OF_MO ...

  4. Codeforces Round #581 (Div. 2) C. Anna, Svyatoslav and Maps (Floyd 算法,最短路)

    C. Anna, Svyatoslav and Maps time limit per test2 seconds memory limit per test256 megabytes inputst ...

  5. keras训练大量数据的办法

    最近在做一个鉴黄的项目,数据量比较大,有几百个G,一次性加入内存再去训练模青型是不现实的. 查阅资料发现keras中可以用两种方法解决,一是将数据转为tfrecord,但转换后数据大小会方法不好:另外 ...

  6. GlusterFS ——分布式卷

    GlusterFS概述 全部部署GlusterFS文件系统地址:https://www.cnblogs.com/Mercury-linux/p/12050389.html GlusterFS系统是一个 ...

  7. Linux 内核源代码的几个C语言技巧

    1.#define中使用do{statement}while(0)保证statement无论在何处都能正确执行一次2.将链表操作抽象出来,与宿主结果相互独立.所有的链表操作都作用与list_head, ...

  8. IDEA中方法的快捷键及自定义方法

    1. 字母组合联想到对应的方法 ·ps联想到public static方法和成员 ·输入psvm联想到主方法 ·输入psf联想到用public static final 等 · pc联想到clone和 ...

  9. 10.17小作业 基于TCP开发一款远程CMD程序

    基于TCP开发一款远程CMD程序 客户端连接服务器后,可以向服务器发送命令 服务器收到命令后执行,无论执行是否成功,无论执行几遍,都将执行结果返回给客户端 注意: 执行系统指令使用subprocess ...

  10. CSS之运算,Sass 之运算(加、减、乘、除)

    1. 加减法 加减法不是重点,重点是在SassScript中用到的两种单位之间的转换:绝对单位:px, pt, pc, in, mm, cm...绝对单位都能运算:相对单位:ex, em, rem.. ...