node 入门学习笔记1(模块规范)
CommonJS 规范
愿景是JS能够在任何地方运行
规范涵盖了模块、二进制、buffer、IO、网关等
Node借鉴commonJS实现了一套简易的模块系统
CommonJS模块规范:
1.模块引用
var math = require('math')
require json的时候会自动进行一次 json.parse
2.模块定义
exports.add = function () {
console.log('math')
}
3.模块标示
小驼峰命名字符串
./ ../
4.模块分类
核心模块:nodeJS提供的模块,如 path,http,fs …
文件模块:以 . / ../ 开头, 用户自定义的模块
模块查找策略: node_modules => ../ => ../ => / (逐步向上寻址)
require文件夹: 查找package.json 里的main(主程输入口)[一般为index.js]
require('path') 当已./或../开头时,引用的是文件模块 , 反之引用的是核心模块
后缀默认补齐: .js => .json => .node
4.模块导入导出
exports.hello = 'world'
module.exports = {
a: 'a'
}
module.exports === exports 两种表达方式均可,属于语法糖
exports / module / require 哪里来的?
node行为:每次执行的时候会初始化,将这种方法导入、导出
比如
function(exports, module, require) {
exports.hello = 'world'
}
5.一些npm常用指令
npm init
npm ls
npm i —verbose 打印安装过程
网友评论