Node.js先睹为快(1)

深入掌握JavaScript Node.js开发 本文还有配套的精品资源,点击获取 简介:JavaScript是前端开发中的主导语言,在Node.js环境下的服务器端编程中也显示出重要性。Node.js是一个基于V8引擎的跨平台JavaScript运行环境,具有事件驱动和非阻塞I/O特性,适用于构建高性能的并发服务器。该压缩包文件可能包含有关Node.js核心概念和模块的资料,比如模块化设计、文件系统操作、HTTP服务器创... 阅读详情

这篇文章来自于《Lynda.com.Node.js.First.Look》。


Node.js主要的作用是一个脱离浏览器的js调试器,是一个开源项目,官网地址:http://nodejs.org/,本来项目的名称是可以叫node的,但由于项目名称太短容易造成重名,所以定义为Node.js,我们也可以在描述中简称Node.js为Node。


安装过程没什么好说的,安装完成之后如果需要调试,可以编辑一个js文件

console.log("Hello world");

之后在命令行中运行:

node testnode.js

即可观察运行结果。


接下来我们看看Node的威力。这里我使用的Windows平台,并且使用Komodo作为我的开发工具(视频里都是OS X的,但我没有环境。Komodo包含了Node的templete,所以在这里用比较合适。)


首先我们来测试一段代码:

var os = require('os');

var message = 'This script is running on Node.js ' + process.version + ' on a ' + os.type() + '-based operation system.';

console.log(message);

从运行结果可以看出,我们从命令行运行的这部分Node代码和在浏览器中运行的js代码还是稍有不同的。

例如,我们可以在google chrome浏览器的“工具->javascript控制台”中输入js代码并运行。

同样,如果我们在命令行中直接运行:node,将会跳出一个Node的控制台并且允许我们输入js代码并运行。我们可以通过连续按两次Ctrl+c或者一次Ctrl+d或者运行process.exit()退出Node控制台,返回系统的command line。


我们可以通过运行npm install node-dev -p来安装node-dev模块,这个模块允许开启“调试中编辑-再继续调试”的功能。


我们运行:node-dev test.js,之后可以看到控制台停止,之后我们编辑test.js文件,可以发现每保存一次,我们的script会被重新运行一次。我们可以通过Ctrl+c退出dev模式。


Node是模块化的,并且提供了很多的模块可以供我们使用,例如我们之前的require('os')就是得到一个os的引用。

我们来看一下自己定义的模块:

我们定义一个导出斐波那契数列的模块:

exports.data = [1, 1, 2, 3, 5, 8, 13, 21];

然后我们使用这个模块:

var sequence = require('./fibonacci.js');

console.log(sequence.data);

就能够得到其中的数据。


对于我们自己下载的模块,我们需要将其拷贝到工程的node_modules目录下,并根据其目录中对应的package.json中定义的name来获取这个模块的引用,例如我们需要使用markdown模块,我们使用代码:

var parser = require("node-markdown");

var html = parser.Markdown('Using **markdown** helps you focus on writing, *not* on markup.');

console.log(html);

对于很多的模块,我们可以通过npm search查找自己需要的模块。(第一次运行的时候需要建立索引缓存可能会比较慢。)在unix/linux上可以通过grep过滤一些信息,window上就不行了,不过我们直接使用npm search zip可以查找包含zip关键字的模块。我们也可以去 https://npmjs.org/这里搜索我们需要的模块。

如果我们需要安装某个模块,只需要运行:npm install <模块名>即可。注意安装位置是控制台当前目录(大多数情况下我们需要在工程目录下运行这个命令)。

对于我们自己的模块,我们只需要在模块目录下运行npm init即可生成我们的package.json文件。


我们使用Node Packaged Modules(简称npm)来管理我们的模块,具体关于npm的总结如下(我们以markdown模块为例):

  1. 搜索node模块:npm search node-markdown(也可以去https://npmjs.org/搜索)
  2. 安装node模块:npm install node-markdown,每个下载来的模块都在工程的node_modules目录下有一个子目录,其中放置自己的配置文件、源文件,等等。
  3. 可以在工程中运行:npm init生成工程的package.json文件,并编辑其中的"dependencies"段添加工程依赖的module,之后通过npm install即可安装工程所需的所有模块;
  4. 更新工程中的module依赖项:npm update;如果需要更新全局的模块,使用-g选项:npm update -g;
  5. 当我们不需要某个module时,我们需要删除package.json文件中的dependencies对应项,并且运行:npm prune,即可删除原先的module;


package.json文件类似于:

{
  "name": "html",
  "version": "0.0.0",
  "description": "ERROR: No README.md file found!",
  "main": "script.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
	  "node-markdown": "0.1.0"     这里的版本可以用"*"来表示依赖于最新版本  
  },
  "repository": "",
  "author": "jariwsz",
  "license": "BSD"
}

ok,到这里基础部分讲完了,后面主要讲如何使用。
Node.js环境下的JavaScript代码执行指南 Node.js是基于Chrome V8引擎的JavaScript运行环境,它使得JavaScript能够运行在服务器端。作为后端技术,Node.js提供了丰富的API,用于构建高性能、可伸缩的网络应用。Node.js以其事件驱动和非阻塞I/O模型在Web应用开发领域内得到了广泛的应用。Node.js的流行主要得益于其强大的生态系统和社区支持。其核心库由简单实用的模块组成,通过npm(Node Package Manager)可轻松扩展。 阅读详情

相关推荐

【Tessent Shell Users Manual】【Ch3】Design Introspection and Editing(未完待续)

Tessent Shell 提供了一系列用于检查(examining/introspecting)和编辑design的命令。

Tranquil_ovo的博客 1731

node 入门

Node开发概述 为什么要学习服务器端开发基础 能够和后端程序员更加紧密的配合 网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax) 扩宽知识视野,能够站在更高的角度审视整个项目 服务器端开发要做的事情 实现业务逻辑 对数据进行增删改查 Node是什么 Node是一个基于Chrome V8引擎的JavaScript代码运行环境 浏览器(软件)能够运行JavaScript代码,浏览器就是JavaScript代码的运行环境 Node(软件)能够运行JavaScript代码,Node就是JavaScript

weixin_43003949的博客 335

A Super-Resolution Imaging Method for Forward-Looking Scanning Radar Based on Improved TV论文阅读

具体而言,作者提出了一种改进的总变差(Improved Total Variation, ITV)方法,通过引入。论文旨在解决前视扫描雷达(Forward-Looking Scanning Radar)超分辨率成像中传统。(Batch Processing),以增强图像边缘特征的保留能力,并提升计算效率。论文的核心创新点在于对传统TV正则化的邻域梯度计算进行扩展,提出。ITV剖面(图3d)在噪声下仍保持矩形边缘,仅存。​(公式10):实现稀疏约束。),抑制远端单元贡献。(幅度远低于目标)。

yangqoor的博客 1240

NPM详解

NPM详解介绍命令执行多个脚本pre & post错误静默消息日志等级从文件中引用路径访问环境变量传递参数命名规则前缀 在拿到一个项目之后,如何看入口文件,如何运行项目,我们都会找到 package.json 中的 script 。 甚至在做项目做久之后,我们会自己写一些脚本来给开发提效,但你知道 NPM 脚本能做什么吗? 你知道如何传递一个参数给脚本? 你知道如何执行某个脚本文件么? 在这篇文章中,我将分享我如何充分利用 NPM 脚本。 介绍 NPM 脚本是 package.json 中定义的一组

qq_43742385的博客 9870

IMU预积分--详细推导过程

IMU预积分推导

weixin_51547017的博客 2万+

Arduino平台软硬件原理及使用——Arduino Uno板卡的使用

Arduino Uno板卡的基本使用

洪博hopes的博客 4173

Nodejs自动重启工具配置 [ nodemon ]

1. 安装依赖包 npm i nodemon --save 2.修改package.json文件 找到scripts "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, 在scripts下面添加start "scripts": { "test": "echo \"Erro...

DanBo_C的博客 683

从零到一:树莓派上的YOLO目标检测实战指南

本文详细介绍了如何在树莓派上部署和优化YOLO目标检测模型,从硬件选型到系统配置,再到模型转换与推理优化。通过对比不同树莓派型号的性能差异,提供实用的配置方案和代码示例,帮助开发者快速实现高效的边缘计算视觉系统。特别推荐使用ONNX格式进行模型转换,以提升在树莓派上的推理效率。

weixin_29046035的博客 1063

复盘node项目中遇到的13+常见问题和解决方案

笔者之前陆陆续续接手过几个nodejs项目, 也参与过几个有点意思的nodejs开源项目, 最近把其中遇到的一些问题和解决方案做一个梳理, 避免大家继续踩坑. 话不多说我们开始吧~1. ...

趣谈前端 1235

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

电路中的DGND、GROUND、GROUND_REF的区别,VREF、VCC、VDD、VEE和VSS的区别?

DGND是数字地,是数字电路部分的公共基准端,用于连接数字电路的接地。

XU157303764的博客 2338

Node.js基础

什么是Nodejs? Nodejs 是一个基于Chrome V8引擎的Javascript运行时(运行环境) Nodejs 安装 Node.js提供了哪些内容? Nodejs运行时,JavaScript代码运行时的环境。 提供了一些核心模块,应用程序编程接口(Application Program Interface,API) 官方API文档https://nodejs.org/dist...

qq_45802159的博客 304

pandas教程:2012 Federal Election Commission Database 2012联邦选举委员会数据库

里面包含了支持者的名字,职业和雇主,地址,赞助金额。我们可以已经能想到如何切割、整理数据,来提取赞助者的统计数据,或提取宣传活动的模式,这里我们展示一些不同的分析方法。可以看到有些职业是同一种工作类型,指代的是同一个东西。这两个连续操作是分别独立执行的,一个结束后,另一个才开始。上,这里我是把数据集压缩成了ZIP格式,解压后能正常导入)。我觉得也有必要好好了解一下,这个网站做了很好的讲解,),所以我们最好添加这样的信息。这样的情况,即把两个索引操作连在一起。,发现映射关系被正常执行了,所以这里的。

Cachel Wood的博客 349

Node.js 是什么?Node.js与JavaScript的区别是什么?

node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行     Node.js是一个可以快速构建网络服务及应用的平台,是用Javascri...

吴甜甜的技术博客 3万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Node.js中运行JavaScript代码

最近学习JS的内容,有幸得到Bill的指点,之前自己运行JS的脚本是在浏览器上,之后惊喜的发现,可以在加载Node.js环境中,在命令窗口运行脚本。这样做的好处是什么呢?大大的减少了窗口来回切换的的频率,提高我们的效率。看起来也是很高大上的。

No body But u 8208

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【Node.js】使用 Node.js 需要了解多少 JavaScript?

总的来说,使用 Node.js 开发并不要求你掌握所有 JavaScript 的高级知识,但了解 JavaScript 的基础和异步编程的核心概念,将大大提高你的开发效率。通过不断学习和实践,你将能够利用 Node.js 构建出高效、可扩展的应用程序。希望本文能帮助你了解在学习 Node.js 之前需要掌握的 JavaScript 知识,帮助你在 Node.js 的开发路上走得更远。祝你编码愉快!

佚名程序员 1935

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

node.js 初识node.js,运行在服务端的 JavaScript(一)

文章目录1.浏览器原理2.浏览器访问服务器过程3.web开发本质4.什么是node.js?5.node.js有哪些特点?6.安装Node.js 1.浏览器原理 2.浏览器访问服务器过程 https://edu.aliyun.com/lesson_1730_14083?spm=5176.10731542.0.0.4fb815f2VGm9PU#_14083 请求报文和相应报文。 3.web开发本质 一般web都是下面三点一样: 1.请求,客户端发起请求。 2.处理,服务器处理请求。 3.响应,服务器将处理结果

探索技术与实践的旅程,分享编程经验与工具使用心得,助力开发者提升技能。 1万+

node.js和JavaScript的关系

1. 什么是node.js node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时的环境。 2. 什么是JavaScript 2.1比较JavaScript 和 Java 两者之间没有关系 V8是google开源的JavaScript引擎,用于执行JavaScript;类似JVM执行java字节码。在node.js 诞生之前,V8是内置于Chromeium中的,现在也...

weixin_41160054的博客 5528

1.什么是node.js、npm、vue

一、Node.js 是什么?😺 定义:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,让你可以在浏览器之外运行 JavaScript 代码,主要用于服务端开发。😺从计算机底层说:什么是“运行环境”?“运行环境” = 能接收你写的高级语言代码,并把它翻译成 CPU 能执行的机器指令,然后 管理运行所需的一切资源(内存、I/O、线程等) 的一套系统。😺😺Node.js 是如何做到“运行 JS 代码”的?

wdy00000的博客 2581

JavaScript和Node.js的关系

JavaScript和Node.js的联系与区别。

cnds123的专栏 4500

Next.js, Node.js, JavaScript, TypeScript 的关系

【代码】Next.js, Node.js, JavaScript, TypeScript 的关系。

坚持输出,记录成长。 1727

Node.js 和 JavaScript 的区别:深入解析

JavaScript 和 Node.js 的核心区别在于运行环境与应用场景。JavaScript 主要运行于浏览器,用于 DOM 操作和前端交互,受限于沙盒安全机制;Node.js 则是基于 V8 引擎的服务器端运行时,提供文件系统、网络等底层 API,擅长高并发 I/O 操作。两者共享语言语法,但功能生态不同——前端依赖浏览器 BOM/DOM,后端则通过 npm 模块扩展能力。理解这些差异有助于开发者针对 Web 前后端场景选择合适方案,构建高效应用。

你若盛开,清风自来 1850

【Node.js从 0 到 1:入门实战与项目驱动】1.1 什么是 Node.js?(定义、运行环境、与浏览器 JavaScript 的区别)

Node.js是一个基于V8引擎的JavaScript运行环境,使JavaScript能够脱离浏览器在服务端执行。其核心特性是事件驱动和非阻塞I/O模型,通过事件循环机制实现高并发处理,特别适合构建实时应用和I/O密集型服务。与浏览器JavaScript相比,Node.js拥有操作系统的能力(如文件系统、网络模块),但没有DOM操作功能;而浏览器JS专注于页面交互,受限于安全策略无法直接访问系统资源。两者采用相同的JavaScript语法,但运行环境和内置API不同:Node.js适用于后端服务开发(如AP

kngines 1361

JavaScript、Node.js、npm 和 nvm:彻底理清他们的历史与关系

js,nodejs,npm,nvm关系

全栈程序员的开发日常 1643

Node.js 与 JavaScript 事件循环的关系

在现代Web开发中,Node.js和JavaScript都是不可或缺的一部分。而理解它们之间的关系,特别是事件循环的概念,对于开发高效、响应迅速的应用程序至关重要。在这个博客中,我们将深入探索事件循环的工作原理,并且结合Node.js的特性,通过示例代码进一步阐明两者之间的联系。

有我更精彩的博客 1637

Node.js飞速入门1 - 初识node.js

如果你曾用 JavaScript 编写过网页交互逻辑,那么 Node.js 将为你打开一扇新世界的大门——让 JavaScript 跳出浏览器,直接运行在操作系统上,成为构建高性能服务器、工具链甚至桌面应用的全能语言。

qq_73961485的博客 1277
上一篇: Java与设计模式(2)--观察者模式
下一篇: Node.js先睹为快(2)
Soloman
博客等级 码龄25年 171粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值