Node.js入门学习笔记

Node.js

Node.js环境配置

node.js中文网安装

image-20200412150420200

选择相应版本进行安装,安装过程直接默认下一步就行,安装完后,打开命令行,输入:node -v如果出现node的版本则表示安装成功。

Node.js简介

简单的说 Node.js 就是运行在服务端的 JavaScript,Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,就是js的运行环境。

模块系统

模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。通过module.exports来导出模块,通过require(path)来导入模块

导出模块

//创建一个js文件取名为 module.js
//创建一个函数
const add = (a, b) => a + b;
//导出模块
exports.add = add;
//导出模块的第二种方式
module.exports.add = add;

两种导出模块的联系与区别:exports是module.exports的别名,即它们都指向同一块地址,导出对象最终以module.exports为准

const add = (a, b) => a + b; 
exports.add = add;
module.exports.add = add;
//现在改变module.exports的指向
module.exports = {
    name: 'Tom'
};
//改变exports的指向
exports = {
    name: 'Jack'
};

//接收的结果为module.exports导出的对象

导入模块

//导入模块
//此时接收的a就表示add
const a = require('./module.js');
console.log(a.add(1, 2)); //输出3

系统模块

文件模块

引入:const fs = require('fs');

读取文件内容

fs.readFile('文件路径/文件名称'[, '文件编码'], callback);,其中[, '文件编码']里的是可选参数,callback为回调函数,文件读取完之后就会调用回调函数,其中有两个参数,一个为err一个为data。如果文件读取发生错误,err的值就表示错误对象,没有发生错误则为null,data为文件内容。可以使用__dirname获取当前文件所在的绝对路径。

const fs = require('fs');
const path = require('path');

fs.readFile(path.join(__dirname, 'demo.js'), (err, data) => {
    console.log(err);
    console.log(data);
});

写入文件内容

fs.writeFile('文件路径/文件名','数据',callback);

//引入fs模块
const fs = require('fs');
//如果文件不存在,会自动创建
fs.writeFile('./dmeo.txt', '要写入的内容', err => {
	if(err != null){
		console.log(err);
		return;
	}
	console.log('文件写入成功!');
});

path模块

该模块中提供了路径拼接的方法,解决不同操作系统中分隔符的不同问题。

const path = require('path');
path.join(路径);
//比如
let filePath = path.join('public', 'uploads', 'img');
console.log(filePath);
 //输出public\uploads\img 因为我是windows系统,所以输出为反斜杠分割符

第三方模块

npm的介绍

npm是node包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用

模块的安装

可以使用npm install 模块名来安装模块,如果想在全局安装,则使用命令npm install 模块名 -g, 没有加-g的是本地安装,本地安装将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
安装时,默认使用的是npm官方的镜像,下载的很慢,可以改为使用国内淘宝的镜像,淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。改变安装源的方法:

  • 用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm npm install -g cnpm --registry=https://registry.npm.taobao.org 就可以使用cnpm指令来安装模块
  • 安装nrm模块

nrm模块是npm registry 管理工具,能够查看和切换当前使用的registry。

// 安装nrm模块
npm install nrm -g
// 查看可用的registry
nrm ls
  npm -------- https://registry.npmjs.org/
  yarn ------- https://registry.yarnpkg.com/
  cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
  nj --------- https://registry.nodejitsu.com/
  npmMirror -- https://skimdb.npmjs.com/registry/
  edunpm ----- http://registry.enpmjs.org/
 //选择要使用的
 nrm use taobao
 执行后就会切换到淘宝镜像

package.json

package.json文件是模块的描述文件,快速生成packag.json文件:
使用npm:npm init -y
不使用-y:npm init, 就会填写属性信息

属性说明

name - 包名
version - 包的版本号

description - 包的描述

homepage - 包的官网URL

author - 包的作者

contributors - 包的其他贡献者

keywords:项目关键字,是一个字符串数组。它可以帮助人们在使用npm search时找到这个包

private:是否私有,设置为 true 时,npm 拒绝发布

license:软件授权条款,让用户知道他们的使用权利和限制

repository:项目仓库地址

dependencies:生产环境下,项目运行所需依赖

devDependencies:开发环境下,项目所需依赖

scripts:执行 npm 脚本命令简写

bin:内部命令对应的可执行文件的路径

main:项目默认执行文件

style:供浏览器使用时,样式文件所在的位置;样式文件打包工具parcelify,通过它知道样式文件的打包位置

files:被项目包含的文件名数组

engines:项目运行的平台

参考

npm官网:https://www.npmjs.com/

Node.js中文网:http://nodejs.cn/api/

猜你喜欢

转载自www.cnblogs.com/cubeblog/p/12691264.html
今日推荐