返回顶部
首页 > 资讯 > 前端开发 > html >初学者怎么使用Node.js
  • 676
分享到

初学者怎么使用Node.js

2024-04-02 19:04:59 676人浏览 泡泡鱼
摘要

这篇文章主要讲解了“初学者怎么使用node.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用node.js”吧!What is Node.j

这篇文章主要讲解了“初学者怎么使用node.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用node.js”吧!

What is Node.js?

关于Node.Js,要注意一点:Node.js本身并不是像IIS,Apache一样的WEBserver,它是一个JavaScript 的运行环境。当我们需要搭建一个Http 服务器的时候,我们可以借助Node.Js提供的库快捷的写一个。

Installing Node

Node.js 安装是非常方便的,如果你在用windows or Mac,去这个页面就可以了download page.

I've Installed Node, now what?

以WINDOWS为例,一旦安装好Node.Js之后,可以通过两种不同方式来调用Node。

方式一:CMD 下输入node,进入交互模式,输入一行行的JS代码,Node.Js会执行并返回结果,例子:

$ node > console.log('Hello World'); Hello World undefined

PS:上一个例子的undefined来自于console.log的返回值。

方式二:CMD 下输入node 文件名(当然需要先CD到该目录)。例子:

hello.js 下的代码: console.log('Hello World'); $ node hello.js Hello World

Doing Something Useful - File I/O

使用纯粹的Js原生代码是有趣但是不利于工程开发的,Node.JS提供了一些有用的库(modules),下面是一个使用Node.js提供的库分析文件的例子:

example_log.txt 2013-08-09T13:50:33.166Z A 2 2013-08-09T13:51:33.166Z B 1 2013-08-09T13:52:33.166Z C 6 2013-08-09T13:53:33.166Z B 8 2013-08-09T13:54:33.166Z B 5

我们做的***件事情是读出该文件的所有内容。

my_parser.js  // Load the fs (filesystem) module var fs = require('fs');  // Read the contents of the file into memory. fs.readFile('example_log.txt', function (err, logData) {    // If an error occurred, throwing it will   // display the exception and end our app.   if (err) throw err;    // logData is a Buffer, convert to string.   var text = logData.toString(); });

filesystem (fs 的api ref) module 提供了一个可以异步读取文件并且结束后执行回调的函数,内容以 Buffer的形式返回(一个byte数组),我们可以调用toString() 函数,将它转换成字符串

现在我们再来添加解析部分的代码。

my_parser.js  // Load the fs (filesystem) module. var fs = require('fs');//   // Read the contents of the file into memory. fs.readFile('example_log.txt', function (err, logData) {    // If an error occurred, throwing it will   // display the exception and kill our app.   if (err) throw err;    // logData is a Buffer, convert to string.   var text = logData.toString();    var results = {};  // Break up the file into lines.   var lines = text.split('\n');    lines.forEach(function(line) {     var parts = line.split(' ');     var letter = parts[1];     var count = parseInt(parts[2]);      if(!results[letter]) {       results[letter] = 0;     }      results[letter] += parseInt(count);   });    console.log(results);   // { A: 2, B: 14, C: 6 } });

Asynchronous Callbacks

刚才的例子中使用到了异步回调,这在Node.Js编码中是广泛被使用的,究其原因是因为Node.Js是单线程的(可以通过某些特殊手段变为多线程,但一般真的不需要这么做)。故而需要各种非阻塞式的操作。

这种非阻塞式的操作有一个非常大的优点:比起每一个请求都创建一个线程的Web Server。Node.Js在高并发的情况下,负载是小得多的。

Doing Something Useful - HTTP Server

我们来运行一个HTTP server吧, 直接复制 Node.js homepage.上的代码就可以了。

my_web_server.js      var http = require('http');      http.createServer(function (req, res) {       res.writeHead(200, {'Content-Type': 'text/plain'});       res.end('Hello World\n');     }).listen(8080);      console.log('Server running on port 8080.');

运行以上代码之后就可以访问http://localhost:8080 就能看到结果啦。

上面的例子显然过于简单,如果我们需要建立一个真正的web server。我们需要能够检查什么正在被请求,渲染合适的文件,并返回。而好消息是,Express已经做到这一点了。

Doing Something Useful - Express

Express 是一个可以简化开发的框架。我们执行npm install 来安装这个package。

$ cd /my/app/location
$ npm install express

指令执行完毕后,Express相关的文件会被放到应用目录下的node_modules文件夹中。下面是一个使用Express开发的例子:

my_static_file_server.js  var express = require('express'),     app = express();    app.use(express.static(__dirname + '/public'));  app.listen(8080);  $ node my_static_file_server.js

这样就建立了一个文件服务器。入油锅我们在 /public 文件夹放了一个"my_image.png" 。我们就可以在浏览器输入http://localhost:8080/my_image.png 来获取这个图片. 当然,Express 还提供了非常多的其它功能。

Code Organization

刚才的例子中我们使用的都是单个文件,而实际的开发中,我们会设计到代码如何组织的问题。

我们试着将最开始的文字解析程序重新组织。

parser.js  // Parser constructor. var Parser = function() {  };  // Parses the specified text. Parser.prototype.parse = function(text) {    var results = {};    // Break up the file into lines.   var lines = text.split('\n');    lines.forEach(function(line) {     var parts = line.split(' ');     var letter = parts[1];     var count = parseInt(parts[2]);      if(!results[letter]) {       results[letter] = 0;     }      results[letter] += parseInt(count);   });    return results; };  // Export the Parser constructor from this module. module.exports = Parser;

感谢各位的阅读,以上就是“初学者怎么使用Node.js”的内容了,经过本文的学习后,相信大家对初学者怎么使用Node.js这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 初学者怎么使用Node.js

本文链接: https://lsjlt.com/news/86342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 初学者怎么使用Node.js
    这篇文章主要讲解了“初学者怎么使用Node.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用Node.js”吧!What is Node.j...
    99+
    2024-04-02
  • 初学者怎么使用Python
    这篇文章主要讲解了“初学者怎么使用Python”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用Python”吧!1. 使用列表时列表允许存储各种数据类型的元素且不限制大小,尽管这...
    99+
    2023-06-16
  • 初学者怎么使用Application Cache
    这篇文章主要介绍“初学者怎么使用Application Cache”,在日常操作中,相信很多人在初学者怎么使用Application Cache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • Node.js Socket.io库:初学者宝典
    什么是Socket.io Socket.io是一个基于事件驱动的库,允许实时、双向的通信。它为客户端和服务器提供了WebSocket连接,同时也兼容HTTP长轮询传输机制,从而确保所有浏览器都能连接和通信。 Socket.io的优势 S...
    99+
    2024-02-11
    Node.js Socket.io 实时通信 双向通信 WebSockets
  • Node.js Serverless 入门:初学者指南
    Serverless 简介 Serverless是一种云计算模型,它允许开发人员在不管理服务器的情况下构建和部署应用程序。Serverless 架构将应用程序分解为称为函数的独立单元,这些函数由云提供商按需执行。这种方法可以降低成本、提...
    99+
    2024-02-21
    Node.js Serverless 无服务器 云计算 函数计算 FaaS
  • Node.js GitHub Actions 101:初学者指南
    GitHub Actions 是一项由 GitHub 提供的自动化服务,允许开发人员在其代码库上设置自定义工作流程。对于 Node.js 项目,GitHub Actions 可用于执行各种任务,例如: 运行单元测试 构建和部署应用程序...
    99+
    2024-02-15
    Node.js GitHub Actions CI/CD 自动化
  • Node.js:为初学者设计的实用指南
    介绍 Node.js 是一个基于 Chrome V8 引擎构建的开放源代码、跨平台 JavaScript 运行时环境。它使开发人员能够使用 JavaScript 编写服务器端代码,从而简化了Web应用程序开发。 安装 首先,需要在系统上...
    99+
    2024-03-09
    Node.js、JavaScript、后端开发、Web应用程序
  • 初学者如何使用AJAX
    本篇内容介绍了“初学者如何使用AJAX”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.创建 XMLHtt...
    99+
    2024-04-02
  • Node.js:初学者打造 Web 应用程序的指南
    Node.js 是一个流行的 JavaScript 运行时环境,用于构建高性能、可扩展的 Web 应用程序。对于初学者来说,学习 Node.js 可能是迈入 Web 开发世界的第一步。本文将提供一个循序渐进的指南,帮助初学者构建他们的第...
    99+
    2024-03-09
    Node.js、Web 开发、初学者
  • Node.js OAuth:从初学者到专家的旅程
    OAuth 简介 OAuth(开放授权)是一种授权机制,使应用程序可以访问受保护资源(例如数据或服务),而无需存储或传递用户的密码。它基于授权码,授权码是用户授予应用程序访问权限的临时令牌。 Node.js OAuth Node.js 提...
    99+
    2024-02-19
    Node.js OAuth 授权 第三方集成 安全
  • Node.js 101:初学者必备的综合指南
    Node.js 是一种跨平台、事件驱动的 JavaScript 运行时环境,用于构建可扩展、高并发的服务器端应用程序。本文旨在为初学者提供 Node.js 的全面指南,涵盖从入门到更高级概念的所有内容。 安装与设置 安装 Node.j...
    99+
    2024-03-09
    Node.js、JavaScript、后端开发、Web开发
  • Node.js Express 初学者手册:从零到部署
    ...
    99+
    2024-04-02
  • 初学者指南:使用 Node.js WebSocket 构建实时网络应用程序
    WebSocket是一种全双工通信协议,允许在客户端和服务器之间建立持久连接。在实时网络应用程序中,WebSocket 非常有用,因为它允许客户端和服务器在不中断连接的情况下立即交换数据。 安装和配置 要使用 Node.js 的 WebS...
    99+
    2024-04-02
  • 初学者怎么做java项目
    初学者做简单的项目需要掌握以下知识点:一、前端语言:HTML+CSS+JavaScript开发工具:webstorm/vscode调试器:Chrome学会HTML的常用标签、元素、以及它们的属性。学会CSS的基本语法、各种样式的使用,理解C...
    99+
    2020-05-26
    java教程 初学者 java 项目
  • Node.js WebAssembly 初学者指南:从入门到精通
    简介 WebAssembly(WASM)是一种二进制指令格式,旨在在 Web 浏览器中高效运行。它允许开发人员使用低级语言(例如 Rust、C/C++)编写代码,并将其编译成可在 Web 中执行的紧凑格式。Node.js 现在提供对 W...
    99+
    2024-02-19
    WebAssembly Node.js Rust WASM C/C++
  • Node.js 初学者指南:掌握服务器端 JavaScript
    对于希望在服务器端利用 JavaScript 的开发人员来说,Node.js 是一个理想的选择。这个开源平台建立在 Chrome V8 引擎上,使其成为一个高效且可扩展的解决方案,用于创建网络应用程序、微服务和其他服务器端功能。 入门 ...
    99+
    2024-03-09
    Node.js、服务器端、JavaScript、初学者指南
  • 初学者怎么更好自学Python代码
    这篇文章主要讲解了“初学者怎么更好自学Python代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么更好自学Python代码”吧!1.列表,字典和集合理解列表理解是许多Python...
    99+
    2023-06-16
  • PHP Composer 使用指南:初学者入门
    composer 是一款 php 依赖管理器,初学者可通过以下步骤上手使用:安装 composer:下载并安装 composer。composer.json:创建依赖清单文件,包含项目名...
    99+
    2024-05-14
    php composer
  • Node.js 路由简明指南:从初学者到专家
    基础概念:路由是将请求映射到处理程序的机制。Node.js 中,通常使用框架(如 Express.js)来处理路由。 安装 Express.js:使用 npm(Node 包管理器)安装 Express.js:npm install ex...
    99+
    2024-04-02
  • 驾驭 Node.js 模板引擎:从初学者到大师
    ...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作