尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情

站点信息

文章数目:257
已运行时间:
目录
  1. 基本使用
    1. 使用
    2. 模块之导出
    3. 模块之导入
    4. 模块之查找规则
    5. 异步式 I/O
    6. 事件式编程
  2. 系统模块
    1. 全局对象 global
    2. 常用工具 util+chalk 美化
    3. fs 文件操作
    4. path 路径操作
    5. http
    6. url
  3. 第三方模块
    1. nodemon
    2. nrm
    3. gulp
    4. Express

尼采般地抒情

尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情

站点信息

文章数目:257
已运行时间:

Node.js就是模块化开发,有两方面组成:

  1. ECMAScript
  2. Node 的模块 API

模块化开发有两种

  1. 前端网页使用 JavaScript 外链,
  2. 使用 nodejs 加载模块化开发构建

基本使用

使用

在命令行加上 node 文件名即可运行该 js 文件了,根据实际开发,一般都下载第三方模块 nodemon,所以一般命令都改为 nodemon 开头

模块之导出

和es6的导入导出方式逻辑一样,知识形式不一样,导出有两种方式,第二种类似es6里面的“打包”导出

【第一种方式】

  • 就是在模块里面定义好变量/方法,然后利用 exports.let_1= let_1; exports.fun_1 = fun_1;这种形式,一个个导出

image.png

【第二种方式】module.exports.version = version;

image.png
image.png

模块之导入

const a = require(‘文件路径’);

模块之查找规则

image.png
image.png

异步式 I/O

提高效率,防止阻塞这种情况

事件式编程

注意事件循环机制

系统模块

全局对象 global

Node.js 和之前学过的浏览器对象区分之就是,浏览器中全局对象是 window,但是 Node.js 的全局对象是 global(也可以不写、省略)


process 对象:
关于进程的一个对象,也是 global 的属性之一,是一个和操作系统的简单接口。重点了解 nextTick()函数,这个函数可以将事件循环设置一个任务,提高运行效率
image.png


console 对象:
log 在控制台中输出;error 输出错误信息;trace 输出错误信息调用栈(就是错在什么地方)


  • setTimeout()     设置超时定时器
  • clearTimeout()   清除超时时定时器
  • setInterval()       设置间歇定时器
  • clearInterval()   清除间歇定时器

常用工具 util+chalk 美化

  • util.inherits

不过感觉这个已经没有多大必要了,这个是实现原型间继承的相关封装,但是现在 ES6 已经有了 class 的概念了(虽然底层还是之前那套),这个工具用的不多


  • util.inspect

目的就是将对象转换为字符串,比如将错误信息更加美观的展示在控制台,就可以自定义,但是可以直接用 chalk 模块在实现这个美化控制台输出的工作。

"use strict";

const chalk = require("chalk");

module.exports = {
  info(...args) {
    const prefix = chalk.green("[INFO]");
    args.unshift(prefix);
    console.log.apply(console, args);
  },
  warn(...args) {
    const prefix = chalk.yellow("[WARNING]");
    args.unshift(prefix);
    console.log.apply(console, args);
  },
  error(...args) {
    const prefix = chalk.red("[ERROR]");
    args.unshift(prefix);
    console.log.apply(console, args);
  },
};
out.info(
  `Current yuque-hexo-lyrics version is ${chalk.yellow(
    pkg.version
  )}, and the latest version is ${chalk.green(update.latest)}. Please update!`
);
out.info(
  "View more detail: https://github.com/wztlink1013/yuque-hexo-lyrics#changelog"
);

image.png


  • events 事件发射器

fs 文件操作

读取文件、写入文件、创建文件夹

path 路径操作

一般都是路径字符串拼接 join

__dirname当前目录名

http

可以创建 web 服务器,原生,框架 Express 的使用优于此

url

第三方模块

第三方模块的两种存在形式

  1. 以 js 文件的形式存在,提供实现项目具体功能的 API 接口。===jQuery
  2. 以命令行工具形式存在,辅助项目开发===下面的
npm:第三方模块的管理工具===使用hexo过程中就是用的这个

nodemon

npm install nodemon –g
作用就是,开发过程中,修改了文件,控制台命令行就会根据文件的修改自动运行
使用方法:将运行命令中的 node 换成 nodemon

nrm

npm 是国外的,有时候下载速度慢,可以使用国内的镜像源
npm install nrm –g

查询可用下载地址列表 nrm ls
切换 npm 下载地址 nrm use 下载地址名称
image.png
报错不能用了

gulp

基于 node 平台开发的前端构建工具,将机械化操作编写成任务,想要执行机械化操作时执行一个命令行命令任务就能自动执行了,用机器代替手工,提高开发效率。

作用:

  • 项目上线,HTML、CSS、JS 文件压缩合并
  • 语法转换(es6、less …)
  • 公共文件抽离
  • 修改文件浏览器自动刷新
使用,**由于之前的设置了node的系统环境变量**,所以现在不能下载到项目文件夹目录下了。全局安装gulp和glup的命令行工具glup-cli(下载不成功),和自己之前配置的环境出错了

glup 本身提供的 api 函数很少,官网到目前更新只有下面几个,具体使用方法,使用的时候去查

image.png

gulp 有很多插件,根据插件下载相应需要的功能插件

  • gulp-htmlmin :html 文件压缩
  • gulp-csso :压缩 css
  • gulp-babel :JavaScript 语法转化
  • gulp-less: less 语法转化
  • gulp-uglify :压缩混淆 JavaScript
  • gulp-file-include 公共文件包含
  • browsersync 浏览器实时同步

Express

Node.js 创建 web 服务器,一个创建 web 服务器的框架

评论区

Beaudar Twikoo

最新评论

Loading...