node.js 基础篇 (第二篇 ) 更新ing.......

node.js 中文网 http://nodejs.cn/

1. path模块
path.join():用来拼接路径片段
参数1:可变参数(可以传1-N个参数),路径片段

在这里插入图片描述

在路径片段中支持 ‘.’ 和 ‘…’ 操作,分别表示当前目录和上一级目录,传入的参数必须是字符串,返回的结果也是字符串(拼接好的路径)

2.CommonJS规范
node.js 实现了 CommonJS规范,在CommonJS规范中要求有;

  1. require函数
  2. exports对象
  3. module对象
    注意:模块加载时同步的,因为在服务器开发魔铠都是本地下载的,加载速度非常快,所以此
    规则不适用于浏览器开发

3.作用域
一个js文件可以理解为一个模块,每个模块都有自己私有的作用域,被称为模块作用域
3.1 全局作用域
在模块中的global对象就是全局作用域,如果需要将模块1中的成员给模块2中使用,可以
选择在模块1中将成员挂载到global对象:

模块1.js:

var a=10
global.a=a

模块2.js:

const m=require('./01.模块1.js')
console.log(global.a)

在开发过程中不建议在全局作用中挂载成员,避免全局作用域被污染
3.2 模块作用域
每个js文件内部都是单独的模块作用域,每个模块作用相互无法访问对方的属性和方法
,模块与模块之间共享成员
如果需要到处本模块中成员,可以将需要导出的成员挂载到exports对象身上
m1.js:

var a=1 
function sayHi() {}
	exports.a=a
	exports.sayHi=sayHi

其他模块导入
m2.js :

const  m1=require("./m1.js")
console.log(m1.a)
m1.sayhi()

exports其实就是module.exports
但是更推荐使用module.exports,因为导出成员时始终都是以module.exports为准
3.3模块分类

  1. 核心模块
  2. 第三方模块


规范:

  1. 包的根目录必须要有 package.json

  2. package.json中必须具备三个属性:
    name version main
    {
    “name”:“pname”,
    “version”:1.0.0,
    “main”:"./lib/main.js"
    }
    导入包有两种方式:
    1.路径表示符
    //找到当前目录的calc包的package.json的main属性对应的js文件,将其引入
    const salc=require(’./calc’)
    2.包名表示符

    在当前目录中有个node_modules目录,将你需要的包放在该目录中此时引入包
    可以使用报名引入

去当前目录的node__modules目录中找calc的文件夹,再去其中的package.json
中找main属性对应的js文件,将其引入
const calc=require("calc")

4.npm
Node Package Manager (node包管理器)

一般提起npm只两个意思

  1. 命令行工具npm
  2. npmjs.com这个网站
    4.1 全局安装 (i5ting_toc)
    npm istall i5ting_toc -g

以上指令会将i5ting_toc工具安装到当前操作系统的全局区域
,安装到全局后就可以使用该工具的指令完成一些操作

  1. 什么是全局的包:安装到计算机全局环境中的包,叫做全局包:安装全局包可以在当前电脑的任何目录下,直接通过命令来访问
  2. 如何安装全局包:运行 npm install -g即可
  3. 安装包的安装目录 : c:\users\用户目录\appData\roaming\npm
  4. 什么样的包适合安装到全局:工具性质的包,适合安装到全局;
  5. 如何卸载全局包:npm uninstall -g 即可
  6. 安装本地包 npm install 包名
  7. 卸载本地包 npm uninstall 包名
    4.2 初始化npm项目目录
    npm init 可以自定义配置来初始化
    npm init -y 使用默认配置
    npm install 的常用的参数
--save :会将依赖包添加到当前项目的package.json的dependencies 节点下
--save-dev : 会将依赖包添加到当前项目的
packsge.json的devDependencies节点下
--production : 只安装dependencies节点下的依赖包

dependencies节点:记录的是当前项目任何阶段所依赖的包
devDependencies节点:记录的是当前项目开发阶段所依赖的包,项目上线后不需要依赖这些包
注意:在NPM5.x以后,–save都可以省略,直接npm install会默认将包加入dependencies节点下
package.json文件:
所有npm项目都需要有该文件,在项目的根目录下,给文件中有三个必须的节点:
1.name
2.version
3.main
如果当前项目依赖了其他的包,则会把依赖的包名和版本号记录在dependencies节点下
还会把具体的版本信息以及下载地址记录在package-lock.json文件,为了提高后期下载速度
## 4.3使用cnpm下载提高速度
1. 安装cnpm包到全局
npm install cnpm-g
2.使用cnpm用法同npm,只需要把指令换成cnpm即可cnpm install包名
b/s架构:Browser Server
c/s架构:Client Server

猜你喜欢

转载自blog.csdn.net/weixin_43072453/article/details/83548483