前端模块化
- AMD( require.js)
- CMD ( sea.js )
- Common.js
AMD定义一个模块:使用define来定义,用require来使用模块
// AMD /* 目录 admDir a.js index.js */ // AMD定义 a.js define ({
a: 1, b: 2, add: function(){
} }) // AMD引用 index.js require([./a.js],function( moduleA ){
//moduleA指的就是定义来的对象 })
CMD定义模块:使用define来定义,用require来使用模块
//CMD /* 目录结构 b.js index.js */ // 模块定义 b.js define(function(require, exports, module) {
// 模块代码 }); //模块引用 index.js require('./b.js',function( moduleB ){
//moduleB就是b模块中导出的内容 })
//common.js /* 目录结构: name.js index.js */ //模块的定义 name.js const nameObj = {
name: 'zhan san ' } //模块的导出 name.js module.exports = nameObj //模块的引用 const nameObj = require('./name.js')
//举例 const student = {
id: 1, name: 'li si' } const fn = function(){
}
2.模块的导出
// 第一种导出 module.exports = student // 安全性不高 默认导出一个 //第二种导出 module.exports = { //批量导出,按需引用 student,fn }
3.模块的引用
// 这种引用对应第一种导出 const student = require('./xxx.js') // 这种引用对应第二种导出 const { student , fn } = require( './xxx.js ' )
注意:在自定义模块引用时,require一定要写好路径
$ npm init -y//创建package.json文件
//-D === --save-dev 下载模块 //举例 cnpm i jquery -D === cnpm i jquery --save-dev // 开发环境下使用 cnpm i jquery -S === cnpm i jquery --save // 生产环境下使用
- 别人已经封装好的模块
- 这个模块具备一些特定的功能
- 这些模块存放在 www.npmjs.com 这个网站中
这些模块的文档也记录在内
格式: var/let/const 变量名 = require( 模块名称 )
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207383.html原文链接:https://javaforall.net
