关于前端:Nodejs入门须知的基本概念

2次阅读

共计 1131 个字符,预计需要花费 3 分钟才能阅读完成。

Node.js 是一个开发平台,有对应的编程语言(JS)、运行环境(Chrome V8),提供了实现了特定性能的 API,能够开发控制台程序、桌面应用程序、Web 应用程序。

生态系统是 npm,特点是事件驱动、非阻塞 I /O(异步回调)、单线程。


英文官网:https://nodejs.org/en/
能够切换成中文的(网站右侧)

中文 API 文档:http://nodejs.cn/api/


全局模块是不须要require,辨别形式有两种

  1. 看文档给出的应用案例
  2. 通过查看 “ 全局变量 ”


    api 有三个稳定性标记

  3. 弃用 0。此个性可能会触发正告。不保障向后兼容性。
  • 试验 1。此个性不受语义化版本控制标准的束缚。在任何的将来版本中可能产生不向后兼容的更改或移除。倡议不要在生产环境中应用该个性。

 – 稳固 2。与 npm 生态系统的兼容性是最高的优先级。


const fs = require('fs');
fs.readFile("./hello.txt");

./hello.txt 是一个相对路径,会依据执行 node 命令时所在的门路去查找。

比方上述文件在:D:\software\hello.js
但在 D 盘下,运行node software\hello.js,则会是D:\hello.txt

__dirname,示意以后正在执行的 js 文件所在的目录,并不是全局的。

__filename__dirname 的根底上加上文件名,并不是全局的。


try-catch只能捕捉同步操作,对异步回调无能为力

const fs = require('fs');
try {fs.readFile('不存在的门路', (error) => {console.log('读取文件', error.code);
  });
} catch (error) {console.log('捕捉到谬误了', error);
}

输入 ” 读取文件 ENOENT”


require加载模块是同步执行的,按程序顺次加载

应用相对路径的时候永远是指以后文件所在的门路

先看缓存有没有,如果是一个门路,提供后缀名间接加载,没有则依照 index.js、index.json、index.node,还没有再去找同命文件夹,认为是一个第三方模块,看外面的package.jsonmain(入口文件),如果门路不存在,再一次加载以后文件夹下的 index.js、index.json、index.node

先看缓存有没有,如果是一个模块,先在外围模块中查找,如果没有,则认为是一个第三方模块,去找以后 js 文件所在目录有没有node_moudles,直到根目录

留神本人写的文件名也好,门路也好,不要和零碎内置模块重名。


在全局装置的模块 npm install mime -g,能够尝试(有些模块只能在浏览器环境下跑) 通过命令行调用

正文完
 0