Node.js基础 链接整理
请给我一个例句进行翻译。
将常用于业务中的常见事项汇总在一起。
当遇到困难时先暂且如此
公式参考资料:https://nodejs.org/en/docs/
最新版本:https://nodejs.org/api/
4.x版本:https://nodejs.org/dist/latest-v4.x/docs/api/
0.12.7版本:https://nodejs.org/docs/v0.12.7/api/
节点的依赖关系
-
- module.exports
-
- ソースを追う時module.exportsやexports.xxxでモジュールを定義、requireで読み込まれるので、そこを追ってく。書き方いろいろある
-
- http://www.yoheim.net/blog.php?q=20150101
-
- node_modules
-
- npmモジュールをグローバルとローカル両方入れてて片方だけカスタムしてる場合とかある。その時読み込まれるnode_modulesのロード順序
-
- https://www.ryuone.com/diary/20110328.html
-
- JSにおけるPrototype
-
- 最近のnodeはclassが使えるけど、古いモジュールはPrototypeで構成されてるのでそこらへんの基本も覚えたい
- http://qiita.com/takeharu/items/809114f943208aaf55b3
经常使用的标准模块
可以使用npm install安装的基本函数即使不安装, 使用的方式是:
const module = require(‘{模块名}’);
飞速
文件的输入输出
https://nodejs.org/api/fs.html#fs_fs_readfile_file_options_callback
子进程
执行exec命令或启动子进程
过程
获取并处理进程的信息。
接收进程信号
https://nodejs.org/api/process.html#process_signal_events
接收命令行参数
https://nodejs.org/api/process.html#process_process_argv
处理错误以防止进程崩溃
https://nodejs.org/api/process.html#process_event_uncaughtexception
使用
其它各种功能
https://nodejs.org/api/util.html
详细转储哈希(对象)
https://nodejs.org/api/util.html#util_util_inspect_object_options
ECMA标记法
最近的版本已经支持EcmaScript6,因此可以使用class、Promise、let和const。
沟通领域
Socket.IO套件
-
- 旧バージョンだけど基本的なところ説明している記事
-
- http://jxck.hatenablog.com/entry/20110730/1312042603
公式 http://socket.io/docs/
ルーム管理 Rooms and Namespaces
Cluster化やマルチプロセス化 Server#adapter(v:Adapter):Server
↓拙作ですがCluster化sample
https://github.com/natsuki-yamanaka/cluster_and_socketio
HTTP模块
通过阅读这个链接,我们可以很容易地在本地搭建一个服务器。请参考此链接了解详情:http://jxck.hatenablog.com/entry/20101022/1287765155
插座
可以在UDP和TCP上分别创建Socket。
异步处理
如果简单地编写异步处理代码,回调函数的嵌套会不断增加,进而成为所谓的“回调地狱”。因此,通常会使用某个库来以类似于垂直流程的方式编写异步处理代码。最佳实践因人而异,并且会随着Node版本的变化而变化,所以如果项目中采用了某种方式,就应该遵循该方式;如果可以选择,就选择自己喜欢的方式来实现。
标准函数
从v4开始,Promise和yield成为标准,所以它们可能会更常用。
npm模块
0.x系列是標準未確定的版本,通常使用模塊來進行非同步處理。
由於JavaScript中有很多非同步處理的庫,我將列舉一些我所熟悉的。
-
- async.js
-
- 昔自分のプロジェクトで採用されてた
-
- http://qiita.com/takeharu/items/84ffbee23b8edcbb2e21
JSDeferred
https://cho45.stfuawsc.com/jsdeferred/
Q
http://qiita.com/Awa_Dama/items/3f73ec4f5bf94bac2094
bluebird
旧バージョンでもPromise的な書き方できる?
http://bluebirdjs.com/docs/getting-started.html
首先,Node.js是什么?
何使它与众不同?有什么好处?虽然这篇文章有点旧,但介绍了现在担任Node.js贡献者的个人经历。
Note: Paraphrasing involves interpretation, and there may be multiple ways to express the same idea in Chinese.
在处理时间非常短的重要事件处理应用程序(如广泛使用的聊天应用程序)中,Node.js可以充分发挥其优势。
作为语言的特点
* 非阻塞IO
* 单线程单进程
* 事件循环模型
我会在这里提及一下。由于解释会变得很复杂而且很长,在另一篇文章里(或许可能不会写)。