之前说过老的版本,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. Spring的AOP,Struts2的拦截器(Interceptor),以及springMVC的(interceptor)

    参考外链:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilter/ 1.首先,spring的AOP作用范围很广,可以使用Aspec ...

  2. JS根据一个经纬度及距离角度,算出另外一个经纬度

    var mapNumberUtil = {}; /** * 根据一个经纬度及距离角度,算出另外一个经纬度 * @param {*} lng 经度 113.3960698 * @param {*} la ...

  3. (转)Linux传输大文件(分割传输)

    1.分拆为多个文件的命令: cat workspace_2018.tar.gz | split -b 1G - workspace_2018.tar.gz. 命令解释: workspace_2018. ...

  4. 〇二——body内标签之交互输入标签二

    我们在上一章讲了一些要通过后台程序实现交互的标签,下面我们看一看一些不通过后台实现交互的标签. 一.a标签 a标签主要实现超链接的功能 1.跳转效果 这个效果比较简单,直接在属性里添加一个网址,然后可 ...

  5. Linux性能分析命令工具汇总

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  6. AttributeError: module 'Crypto.PublicKey.RSA' has no attribute 'import_key'

    I solved this problem by pip install pycryptodome

  7. Mac 安装RN android开发环境

    前言 前面介绍了MAC 安装,再来讲讲mac 安装 安卓的开发环境 首先貌似很多Mac自带安卓JDK ,你可以在终端上输入java -version 看是否已经有java开发环境. 如果没有java开 ...

  8. 使用CEfSharp之旅 前后端访问代码

    1.引入CEfSharp newget包 2.把平台配置为X86或X64,any cpu不支持此控件 3.引入命名空间 using CefSharp; using CefSharp.WinForms; ...

  9. docker 部署项目

    一:我使用的是阿里云的ubuntu16.4系统. 项目数据库: # 数据源 spring: datasource: type: com.zaxxer.hikari.HikariDataSource d ...

  10. head first 设计模式笔记5-单例模式

    目录: 1.单例模式(Singleton Pattern) 2.概念 3.饿汉式:不是延迟加载,加载类的时候直接初始化 4.懒汉式:延迟加载,首次需要使用的时候在实例化,需要考虑线程安全 5.静态内部 ...