🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 使用Node编写应用程序主要就是在使用: + EcmaSricpt语言 + 和浏览器不一样,在Node中没有BOM, DOM + 核心模块 + 文件操作的fs + http 服务的http + url 路径操作模块 + path 路径处理模块 + os 操作系统信息 + 第三方模块 + art-template + 必须通过npm来下载才可以使用 + 自己写的模块 + 自己创建的文件 #### CommonJS模块规范 在Node中的javascript还有一个很重要的概念:模块系统 + 模块作用域 + 使用require方法用来加载模块 ``` var name = require ('模块'); ``` + 使用exports接口对象用来导出模块中的成员 + 导出多个成员(必须在对象中): ``` exports.a = 123; exports.c = function(){ console.log(123); }; ``` + 导出单个成员(拿到的就是函数,字符串): ``` module.exports = 'hello' //后者会覆盖前者 module.exports = function(x, y){ return x + y; } ``` + module.exports也可以导出多个成员: ``` module.exports = { add: function() { return x + y; }, str: 'hello' ``` ``` // require是一个方法 // 它的作用就是用来加载一个模块 // 在Node中,模块有三种 // 具名的核心模块,例如 fs, http // 用户自己编写的文件模块 // 相对路径必须加 ./ // 后缀名可以省略 console.log('开始执行a'); require('./b.js') console.log('a执行结束'); ``` 在Node中,没有全局作用域,只有模块作用域,外部访问不到内部,内部也访问不到内部,这就是模块作用域 但是可以被exports导出