Node.js的学习笔记1——模块化、npm

模块化

  • 在Node中,一个js文件就是一个模块。
  • 模块化的好处:降低程序之间的耦合性、方便代码复用。

当Node在执行模块中的代码时

function (exports, require, module, __filename, __dirname) {...}
require()

在Node中,通过require()函数来引入外部的模块。
HelloNode.js

console.log('HelloNode')

module1.js

// 文件模块:自己创建的模块
var md = require('./HelloNode.js')
// 核心模块:由Node引擎提供的模块
var fs = require('fs')
console.log(fs)
exports()

在Node中,通过exports()向外部暴露属性和方法。

  • exports()和module.exports()
    通过exports只能通过.的方式来向外暴露内部变量,而module.exports既可以通过.的形式,也可以直接赋值
console.log('HelloNode')
    // exports.x = 1
    // exports.y = 2
    // exports.fn = function() {}
module.exports = {
    x: 1,
    y: 2
}
global、__filename、__dirname
  • 在Node中有一个全局变量,在全局中创建的变量(函数)会作为global的属性(方法)保存。(全局里没有arguments)
  • 当前模块的完整路径
  • 当前模块所在文件夹的完整路径

包(package)

单个文件算一个模块,文件放到文件夹算一个包

  • 包结构
    • package.json ——描述文件
    • bin——可执行二进制文件
    • lib——js代码
    • doc——文档
    • test——单元测试
  • 包描述文件
    它是一个json格式的文件,在它里面保存了包各种相关的信息。package.json是包的重要组成部分
    • name——包名
    • version——版本
    • dependencies——依赖
    • main——包的主要的文件
    • bin——可执行文件

npm(Node Package Manager)

  • npm的常用指令
    • npm -v ——【查看npm的版本】
    • npm version ——【查看所有模块的版本】
    • npm init ——【初始化项目(创建package.json)】
    • npm i/install 包名 ——【安装指定的包】
    • npm i/install 包名 --save ——【安装指定的包并添加依赖】
    • npm i/install 包名 -g ——【全局安装(一般都是一些工具)】
    • npm i/install ——【安装当前项目所依赖的包】
    • npm s/search 包名 ——【搜索包】
    • npm r/remove 包名 ——【删除一个包】

通过npm下载的包都会放到node_modules文件夹中

猜你喜欢

转载自blog.csdn.net/xicc1112/article/details/104697813