一、Node.js是什么?
node.js是 javascript 的服务器端运行环境,可以让程序员使用 javascript 来实现服务器端的编程; nodejs 由三部分组成:ECMAScript 核心 + 全局成员 + 模块成员,并且nodejs是基于commonjs规范。
二、Node.js学习
1.模块化
1.1全局作用域
global.name = "nick"
1.2模块作用域
在nodejs中每个 js 文件,都是一个独立模块,每个模块都有自己独立的作用域。因此模块中的成员,默认无法被其它模块访问。
(1)模块成员分类
1.核心模块 如 fs,path 2.第三方模块 npm上下载的包 3.用户自定义模块
那么不同模块之间如何相互访问呢,就需要引入与暴露模块。
(2)exports 与 module exports 暴露模块
module.exports.name = "nick"
module.exports = {}
exports.name = "nick"
exports 与 module exports的区别?
module表示当前模块,exports是module的属性,既可以使用exports,也可以使用module.exports暴露模块。 不能写exports ={},其他的方面它们一样。 因为直接赋值,就会导致exports不是指向module.exports。
var a = { name:"zs" }
var b = a
b.name = "ls"
b = { age:18 }
(3)require 引用模块
require("fs")
require("./demo.js")
2.包管理工具
2.1npm
npm下载的包放在node_modules中
npm init
npm install 包名 -g 全局安装
npm uninstall 包名 -g 全局卸载
npm version 版本信息
npm -v 版本号
npm search 搜包名
npm config set registry "地址" 设置镜像源
2.2package.json
包都要以一个单独的目录而存在,且在顶级目录下,需符合 JSON 格式。
包描述文件: name:包的名称,必须是唯一 description:包的简要说明 version:包的版本号 main:入口文件 dependencies:生产环境依赖项 devDependencies:开发环境依赖项 scripts:脚本(包含包的启动,打包命令等)
npm装包时-S和-D的区别?
npm install name -save-dev 简写(npm install name -D) 自动把模块和版本号添加到devdependencies,dev是在开发环境中要用到的。
npm install name -save 简写(npm install name -S) 自动把模块和版本号添加到dependencies,dep是在生产环境中要用到的。
|