express框架模块导入与导出

2018-08-29 11:41:19 浏览数 (1)

经过3天nodejs的原生学习,今天转入到express框架学习.express与nodejs的关系类似于jquery和js关系,很大程度上方便了我们的开发!

nodejs的单独一个文件就是一个模块,在模块内的函数,变量只有自己可以使用,很大程度上保证了模块中的常量,变量的污染!但是如何在其他地方使用这个呢,就有了模块导入的概念!

  app.js(封装的模块)

代码语言:javascript复制
var name="小明";

exports.name=name;//导出模块

  demo.js(导入封装的文件,调取模块的文件)

代码语言:javascript复制
var app=require("./app.js");//导入同级目录下的模块文件

console.log(app.name);//输出,模块内的name变量;输出结果小明

如果在一个模块中存在多个变量和函数,难道需要require多次吗?当然不需要,下面实例解决模块文件存在多个变量和函数的

app.js(封装的模块)

代码语言:javascript复制
var name="小明";
var age="18岁"
function test(){
    console.log("2018年")
}

exports.name=name;//导出模块
exports.age=age;
exports.test=test;

  demo.js(导入封装的文件,调取模块的文件)

代码语言:javascript复制
var app=require("./app.js");//模块文件存在多个,只需要导入顶级路由的一个模块就行,无需多个

console.log(app.name);//输出,模块内的name变量;输出结果小明
console.log(app.age);//输出,模块内的name变量;输出结果18岁
app.test();//2018年

特殊说明:如果模块内导出的函数是构造函数,则导出不能使用exports.导出名=变量名,只能使用module.exports=函数名

构造函数实例:

app.js

代码语言:javascript复制
function info(name,age,sex){
    this.name=name;
    this.age=age;
    this.sex=sex;
}
//导出构造函数
module.exports=info;

demo.js

代码语言:javascript复制
var app=require("./app.js");//导入module文件
var info=new app("十月梦想","18岁","男");//构造函数引用,需要new一个对象
//输出测试
console.log("姓名:" info.name);//输出十月梦想

以上就是express框架模块导入和导出基本内容!

0 人点赞