模块
模块 一
创建 模块 exports 可以暴露 函数 变量
var bar = require("./bar.js");
var msg = "你好";
var info = "呵呵";
function showInfo(){
console.log(info);
}
exports.msg = msg;
exports.info = info;
exports.showInfo = showInfo;
使用
引入
var foo = require("./test/foo.js");
使用 .语法使用
console.log(foo.msg);
console.log(foo.info);
foo.showInfo();
模块二
People.js
function People(name,sex,age){
this.name = name;
this.sex = sex;
this.age = age;
}
People.prototype = {
sayHello : function(){
console.log(this.name + this.sex + this.age);
}
}
//exports.People = People; //不能使用这个方法暴露
//此时,People就被视为构造函数,可以用new来实例化了。
module.exports = People;
使用
//导入
var People = require("./test/People.js");
var xiaoming = new People("小明","男","12");
xiaoming.sayHello();
也就是说,js文件和js文件之间有两种合作的模式:
1) 某一个js文件中,提供了函数,供别人使用。 只需要暴露函数就行了; exports.msg=msg;
2) 某一个js文件,描述了一个类。 module.exports = People;
注意
var foo = require("foo.js");
//var foo = require("./foo.js");
如果没有写./ 会在node_modules目录下查找
var foo = require("foo");//应用文件夹
相当于 应用node_modules/foo 中index.js
当目录中没有 index.js文件
可以通过node_modules/foo 目录先package.json
配置入口文件
package.json
{
"name": "kaoladebar",
"version": "1.0.1",
"main" : "app.js"
}
每个模块文件夹中,推荐都写个package.json文件 node 将会自动读取配置 。
main 项 为入口
模块就是一些功能的封装, 经常使用的功能被人封装成模块 放在开源社区中-npm ,
npm也是一个工具 node package management
在网站找寻自己需要的项目
在自己的项目目录下 执行 npm install 安装项目名