1.什么是模块化开发?html
模块化开发:面向对象思想
模块:一个js文件就是一个模块,每一个模块都有本身的做用域前端
2.若是模块化开发没有工具怎么实现?node
<1>如index.html中引入的js文件,每一个js用自执行函数包裹起来,使这些文件处在不一样的做用域中(函数),由于模块化开发就是js有本身独立的做用域 <2>.webpack打包后的样子?每一个js文件都会被自执行函数包裹起来webpack
3.四种模块化开发方式es6
<1>AMD require.js 依赖前置web
<2>CMD sea.js 按需引入npm
<3>commonJS规范 前端中使用CommonJS规范编写代码,须要使用工具编译,浏览器
1.commonJS规范(node.js)
一个js文件就是一个模块,每一个模块都有本身的做用域.
引入模块:require('路径')
向外输出模块内容 module.exports = 向外输出的内容;
前端中使用commonJS规范编写代码,须要使用工具编译模块化
2.在电脑上安装node(安装node后,npm包管理工具也就安装好了)
命令 node -v
npm -v
执行nodejs文件
命令行中执行: node 须要执行文件的路径(系统绝对路径,相对路径)函数
3.//引入须要使用的模块
路径的写法
<1.直接写路径名字 require('path');
若是是node内置模块优先级更高
查找方式:找node_modules文件夹的内容
->找node内置模块
->报错
<2.若是不是内置模块,也不是在node_modules文件夹之下,写路径须要写成:
require('./path');
require('../path');
require('./../path');
<3.require('./tools'),写文件夹,找的是文件夹下的index文件
<4 eg:main.js引入os模块,由于os模块是内置模块,node中带有的模块,若是node_modules中也有本身写的os.js模块,内置模块会被先引用,内置模块优先级比node_modules文件中的js文件更高
<4>es6模块化方式
es6模块化方式(ESM)现代浏览器不支持es6模块化方式,须要使用工具编译import {}exportexport default