webpack中的模块化开发
模块:指为了完成某功能所需的程序或者子程序,模块是系统中 职责单一 且 可替换 的部分
模块化:** 指把系统代码分为一系列职责单一 且 可替换的 模块
模块化开发:指如何开发新的模块和复用已有的模块来实现应用的功能
CommonJS
//sayhi.jsvar hi = "hello"function sayHi(){return hi}module.exports = sayHi//index.jsvar sayHi = require("./sayhi")console.log(sayHi())
AMD**
//sayhi.jsdefine(function(){var hi = "hello";return function sayHi(){return hi}})//index.jsrequire(['./sayHi.js'],function(sayHi){console.log(sayHi())})
ES6 Module**
//sayhi.jsconst hi = "hello"export default function sayHi(){return hi}//index.jsimport sayHi from './sayhi'console.log(sayHi())
webpack中一切皆模块
webpack 对 Module的增强
import('path/to/module').then(mod=>{console.log(mod)})
import from 是静态分析打包语法
import() 是动态打包语法,即通过异步的方式加载进来的
webpack对资源的模块化处理
样式文件的@import 和 javascript 的import
在css中
@import 'vars.less'
在javascript中
import style from './style.css'
