zoukankan      html  css  js  c++  java
  • Webpack 3.0 前端工程化(背景、模块化、环境准备)

    (1)背景

      

      作者受Google工具的模块分割 影响有了创作灵感

      

      

      随着SPA的推广,前端应用复杂度快速提升。

      

      

       

       MVC时代便有了模块化的初期思想

      

      三大框架便将模块化概念推广普及开来。

    而模块化的同时必须面对打包和相关新型语法转换的问题

      

       

    上述可以看出HTML、CSS发展史,预处理语言Less、Sass等,怎么样写一份代码(新旧语法),可以在不同浏览器正常运行,这里便用到了构建工具

      

    coffeeScript是由Ruby社区推出的js语法糖

      

       

       

       

      

    去中心化:依赖包较为专注解决一个问题,较为零散

      

    因为目前的3大主流框架都使用webpack作为默认构建工具

      

    (2)导学

      

       

       

       

      

      

       

    (3)模块化

      

       JS模块化发展

    1、命名空间(几年前较为流行),详见浅谈JavaScript 命名空间
    2、Common.js诞生于node社区,应用于服务端,无法在客户端使用
    3、AMD、CMD、UMD是后来应用于浏览器的模块化规范
    4、ES6 module随着ES6普及,开始使用ES6模块化规范

      

    弊端:需要记住完整的路径名,然后NameSpace.type.method

      

       

       

      

       

       

       

       

       

       

       

    1、ES6模块导入使用import...from...,{}里存放导入的方法
    2、可以一起导入,也可以分开导入
    3、named as myName中的as为重命名
    4、import * as mylib from 'src/lib'
        把模块里定义导出的所有方法,绑定到mylib对象上
    5、import 'src/mylib'代表只是把文件模块加载进来,没有调用相关方法

      《1》暴露变量定义

        

       《2》暴露方法定义

        

       《3》暴露默认模块,可以是变量、函数、字符串、数字、匿名函数、类class等

        

      《4》选择性暴露方法、导出时重命名

        

      《5》导入后导出export...from...

        

      详见ES6模块化规范之ESM

       

    注意:webpack新版本3+开始,便已经支持了ES6规范,不再需要babel

      

      

      

       

      

      

      

      BEM风格代码案例:

      

       

      

    (3)环境准备

      

       命令行工具

      

      安装Webpack全局工具

      

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

      

       

       

       

       

  • 相关阅读:
    LeetCode5654. 盒子中小球的最大数量
    LeetCode40. 组合总和 II
    LeetCode39. 组合总和
    LeetCode17. 电话号码的字母组合
    Leetcode216. 组合总和 III
    eclipse相关使用
    matlab符号的含义
    matlab矩阵相关的笔记
    vi编辑器
    Linux 环境变量
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/12397870.html
Copyright © 2011-2022 走看看