webpack

webpack

  • 认识webpack
  • webpack的安装
  • webpack的起步
  • webpack的配置
  • loader的使用
  • webpack中配置Vue
  • plugin的使用
  • 搭建本地服务器

什么是webpack?

  • webpack是一个现代的JavaScript应用的静态模块打包工具

  • 官网: https://webpack.js.org/
    在这里插入图片描述

  • 目前使用前端模块化的一些方案:AMD、CMD、CommenJS、ES6。

  • webpack其中一个核心就是让我们可能进行模块化开发,并且会帮助我们处理模块间的依赖关系

  • 和grunt/gulp的对比

    • grunt/gulp的核心是Task

      • 我们可以配置一系列的 task,并且定义task要处理的事务(例如ES6、ts转化,图片压缩,scss转成css)
      • 之后让grunt/gulp来依次执行这些task,而且让整个流程自动化。
      • 所以grunt/gulp也被称为前端自动化任务管理工具。
    • 什么时候用grunt/gulp呢?

      • 如果工程模块依赖非常简单,甚至是没有用到模块化的概念。
      • 只需要进行简单的合并、压缩,就使用grunt/gulp即可。
      • 但是如果整个项目使用了模块化管理,而且相互依赖非常强,我们就可以使用更加强大的webpack了。
    • grunt/gulp和webpack的不同

      • grunt/gulp更加强调的是前端流程的自动化,模块化不是它的核心。
      • webpack更加强调模块化开发管理,而文件压缩合并、预处理等功能,是它附带的功能。

webpack的安装

  • 安装webpack首先需要安装Node.js,Node.js自带了软件包管理工具npm
  • 查看自己的node版本 命令:node -v
    在这里插入图片描述
  • 全局安装webpack(这里指定版本号3.6.0,因为vue cli2 依赖该版本)命令:npm install webpack@3.6.0 -g
  • 局部安装webpack 命令:npm install webpack@3.6.0 --save-dev
  • 为什么全局安装后,还需要局部安装呢?
    • 在终端直接执行webpack命令,使用的是全局安装的webpack
    • 当在package.json中定义了scripts时,其中包含了webpack命令,那么使用的是局部webpack

webpack的使用

  • 将main.js 文件进行打包

    • 目录结构
      在这里插入图片描述
    • 在webpack.config.js文件下配置 (关键代码)在这里插入图片描述
  • webpack对css、less文件、以及图片文件的处理

    • 在打包前需要很多的loader,什么是loader?

      • loader是webpack中一个非常核心的概念。
      • 在开发中不仅仅有基本的js代码处理,也需要加载css、图片、也包括一些高级的将ES6转成ES5代码,将TypeScript转成ES5代码,将scss、less转成css,将.jsx、.vue文件转成js文件等等。
      • 对于webpack本身的能力来说,对于这些转化是不支持的,所以要借助webpack扩展对应的loader来实现。
    • loader的使用过程:

      • 步骤一:通过npm安装需要使用的loader
      • 步骤二:在webpack.config.js中的modules关键字下进行配置
      • 大部分loader都可以在webpack的官网中找到,并且有对应的用法
    • 安装loader(以css-loader为例) 命令 npm install --save-dev css-loader

    • 相应的loader版本,及其配置(安装完成后,在package.json文件中可以查看)在这里插入图片描述

    • css-loader 的配置规则
      在这里插入图片描述

  • ES6转ES5

    • 为了更好的适应浏览器,需要将ES6的代码转为ES5的代码。const被var替代。
    • 安装相关的loader 命令:npm install --save-dev babel-loader@7 babel-core babel-preset-es2015
    • 配置webpack.config.js文件
      在这里插入图片描述
  • webpack中引用Vue

    • 安装vue 命令:npm install vue --save
    • 安装vue相关的loader 命令:npm install vue-loader vue-template-compiler --save-dev
    • 配置webpack.config.js文件
      在这里插入图片描述
    • 注意:只引用import Vue from 'vue',创建实例时,运行后,浏览器会报不能编译模板的错误。
      • runtime-only 代码中,不可以有任何的template
      • runtime-compiler 代码中,可以有template,因为有compiler可以用于编译template
      • 解决方案:在webpack.config.js文件中引入vue.esm.js文件在这里插入图片描述
  • Vue的最终使用方案

    • 建立App.vue文件,(相当于一个组件构造器,最后在main.js文件下进行注册使用),.vue文件下也可以注册其他的组件。
    • 在main.js文件中导入vue文件,并注册组件,就可以使用了。
      在这里插入图片描述
    • app.vue文件模板
<template>
    <div>
            <h2 class="title">{{message}}sun</h2>
            <button @click="btnclick">按钮</button>
            <Cpn/>
    </div>
</template>

<script>
    import Cpn from "./Cpn"
    export default {
        name:"app",
        data(){
            return{
                message:"hello word"
            }
        },
        methods:{
            btnclick(){
                console.log("你好呀")
            }
        },
        components:{
            Cpn
        }
    }
</script>
<style scoped>
    .title{
        color:yellow
    }
</style>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mentality_sx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值