Node.js入门小记(二)node.js的模块管理

来源:互联网 发布:罗德与施瓦茨 知乎 编辑:程序博客网 时间:2024/06/15 01:17

nodejs中文件的组织方式采用模块的方式来组织文件,遵循Common.js规范,
简单介绍下Commin.js规范:

  1. 根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
  2. CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。
  3. 详细解释请参考:http://javascript.ruanyifeng.com/nodejs/module.html

nodejs中模块分为,核心模块(启动时已经预先加载进来了),文件模块(require进来的),第三方模块(npm引入的模块);

接下来创建一个模块并且运行一下,流程如下

Created with Raphaël 2.1.0开始创建模块teacher.js导出模块:export.add = function(){}加载模块:var teacher = require('./.js')使用模块:teacher.add('scott')结束

上代码:
在schooll文件夹中存在四个文件,分别是,student.js,teacher.js,kclass.js,index.js index.js是入口文件

/*stusent.js*/function add(student){    console.log('add student:' + student)}exports.add = add
/*techer.js*/function add(teacher){    console.log('add teacher:' + teacher)}exports.add = add
/*kclass.js*/var student = require('./student.js')//require返回一个模块对象,就是一个exports对象var teacher = require('./teacher')teacher.add('Scott')function add (teacherName,students){    teacher.add(teacherName);    students.forEach(function(item,index){        student.add(item)    })}exports.add = add//传统模块实例// module.exports = add//真实存在的东西,exports是辅助方法//特殊模块类型//CommonJS规范规定,每个模块内部,module变量代表当前模块。//这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。
/*index.js*/var kclass = require('./kclass')kclass.add('Scott',['白富美','高富帅'])

运行方式

Created with Raphaël 2.1.0开始cd到当前文件夹输入node index.js(入口文件)结束
原创粉丝点击