为什么express要app=express(),而有些模块直接require就能使用?
var express = require(‘express’); var app = express(); var superagent = require(‘superagent’);
6 回复
export的时候做手脚,比如new了,就可以没有这步骤了
所以 require(‘express’);
返回的是一个工厂方法咯
意思就是 具体怎么调用就要看api,而不是统一的调用~
返回的模块(module)的exports类型不同,有些是返回构造函数(constructor ),有些不是。如果是返回构造函数当然需要new运算符实例化下。
一般有两种情况不好直接require进来就默认实例化:一种是构造时带可选参数的,还有就是允许多个实例的(express是这种情况)。
不知道Nodejs里是不是跟高级编程语言一样 在类似c#的项目中创建类分为静态类和动态类,静态类是在编译运行之后就存在内存中,动态类只有在new的时候才分配内存 会不会express在require(‘express’)的时候并没有分配内存,当你new的时候才分配呢?只是我经验上的猜测,还需要高手给出正确答案呵呵