node.js基础(一)

逍遥模拟器改真机参数全指南:从ARM伪装到电池传感器模拟 本文提供逍遥模拟器深度伪装实战指南,重点讲解如何通过修改ARM架构、系统属性和模拟传感器数据,使其在硬件信息、电池状态等维度逼近真实设备,有效规避应用检测。文章详细介绍了使用Magisk模块、LSPosed框架进行设备指纹伪装和动态数据模拟的策略,帮助用户实现从静态信息到动态行为的全方位真机模拟。 阅读详情

个人博客搭建完成,欢迎大家来访问哦
黎默丶lymoo的博客

什么是node.js

JavaScript是一个脚本语言,脚本语言都需要一个解析器才能运行,但是node.js采用C++语言编写而成,是一个Javascript的运行环境。既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。作为Web前端最重要的语言之一,Javascript一直是前端工程师的专利。不过,node.js是一个后端的Javascript运行环境,这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行。node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。
它的三大特征:模块化,异步编程,事件驱动

实现http服务器

使用node.js来实现第一个http服务器,博主是用WebStrom编译器来编译的

// 需要引入node的原生模块"http"
var http = require("http");
http.createServer(function (req, res) {
/*
* req: require,  包含一些URL信息,以及传入的数据
* res: response, 包含请求回应的状态码,返回的信息等等
* req.url     "/"   根目录
* req.method  "GET" 请求方式
* */
    // 设置输出文本编码格式为中文
    res.writeHead(200, {"Content-Type": "text/html;charset=utf-8"});
    // end不只是输出返回的内容,还代表本次请求的结束,它只能输出字符串
    res.end("我是请求回应的文本");
}).listen(8080); // 设置本服务器的端口号

模块化

可以参考http://www.cnblogs.com/dolphinX/p/4381855.html

为什么会有模块?

在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可。如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀,这时候JavaScript作为嵌入式的脚本语言的定位动摇了,JavaScript却没有为组织代码提供任何明显帮助,甚至没有类的概念,更不用说模块(module)了,JavaScript极其简单的代码组织规范不足以驾驭如此庞大规模的代码

模块的好处

既然JavaScript不能handle如此大规模的代码,我们可以借鉴一下其它语言是怎么处理大规模程序设计的,在Java中有一个重要带概念——package,逻辑上相关的代码组织到同一个包内,包内是一个相对独立的王国,不用担心命名冲突什么的,那么外部如果使用呢?直接import对应的package即可import java.util.ArrayList;
遗憾的是JavaScript在设计时定位原因,没有提供类似的功能,开发者需要模拟出类似的功能,来隔离、组织复杂的JavaScript代码,我们称为模块化。一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,各行其是就都乱套了。

commonjs规范

CommonJS就是为JS的表现来制定规范,因为js没有模块的功能所以CommonJS应运而生,它希望js可以在任何地方运行,不只是浏览器中。
CommonJS能有一定的影响力,我觉得绝对离不开node.js的人气,不过,node.js,CommonJS,浏览器甚至是W3C之间有什么关系呢,如下图所示:
互相关系图

引入url模块解析路径

var http = require("http");
var url = require("url"); // 原生URL模块
var server = http.createServer(function (req, res) {
    res.writeHead(200, {"Content-Type": "text/html; charset=utf-8"});
    // parse(路径, 第二个参数为将请求参数解析为对象)
    var urlObj = url.parse(req.url, true);  // 第二个参数为true表示将内层的数据也给转换成对象
    console.log(urlObj);
    res.end();
});
server.listen(8080);

创建自定义模块

加载当前目录的模块

不加var的变量是全局变量,在模块内部最好加var。
要导出一个属性或者方法使用:module.exports
如果是模块下的方法和属性使用:module.exports={xx:xx};
如果是想让模块直接接受方法就导出函数
例如:

var a = 5; // 模块里的变量一定要加上var
function addX(x) {
    console.log(a + x);
}
// 输出该模块的属性和方法
// module.exports = {
//     a: a,
//     addX: addX
// };
module.exports = addX;

加载非当前目录的模块

首先会看当前目录是否有一个node_modules,如果有就看进入里面查找是否有叫模块名称的文件或者是否有叫模块名称的文件夹。
如果是模块名称的文件夹需要看一下文件夹内部是否有index.js或者package.json中是否有设置mian属性。
如果当前目录中没有node_modules,会向上查找。可以通过:console.log(module);输出

加载原生模块

加载原生模块流程图

扩展

非node项目中也可以使用模块化开发技术,用得比较多的模块加载器有:requirejs(CMD),seaJs(AMD)。

npm

它是包(一组模块的集合)。
npm作为node的包管理器

repl(交互式解释器)

REPL(Read Eval Print Loop:交互式解释器)概念

表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。
进入repl方式:终端中键入node。

repl处理

表达式运算

可以进行简单的加减乘除运算,也可以使用变量甚至编写for循环while语句等等
可以使用下划线(_)获取表达式的上一次的运算结果

REPL 命令

ctrl c 退出当前终端。ctrl+c 按下两次,退出 Node REPL
ctrl d 退出node REPL,向上/向下键,查看输入的历史命令
tab 列出当前命令
help 列出使用命令
break 退出多行表达式
clear 退出多行表达式

原文链接

使用GEOquery包下载原始数据 阅读详情

相关推荐

STM32G0定时器中断实战:HAL库配置TIM2实现精准1秒LED闪烁(附完整代码)

本文深入解析了STM32G0系列微控制器中定时器中断的配置与应用,重点介绍了如何使用HAL库配置TIM2实现精准的1秒LED闪烁。通过详细讲解时钟树分析、预分频系数与自动重装载寄存器的计算原理,并结合CubeMX图形化配置与完整代码示例,帮助开发者从底层理解定时器工作机制,掌握可复用的工程化配置方法。

weixin_29194817的博客 253

【深入浅出Node.js系列一】什么是Node.js

为什么80%的码农都做不了架构师?>>> ...

weixin_33713350的博客 180

ADS AEL脚本进阶:参数化电感与变压器的自动化设计

本文深入探讨了如何利用ADS AEL脚本实现电感与变压器的参数化与自动化设计。通过构建可复用的函数库、封装高级设计流程、集成DRC检查与性能预估,将繁琐的手动绘制升级为高效的智能设计引擎,并最终通过创建GUI工具降低使用门槛,大幅提升射频/微波电路设计效率。

weixin_29309785的博客 203

NodeJS 简介:什么是Node.js?

Node.js 由Ryan Dahl于 2009 年首次创建,大约在 Netscape 的第一个服务器端 JavaScript 环境 LiveWire Pro Web 推出 13 年后。Node.js 的第一个版本支持 Linux 和 Mac OS X。它的开发和维护由 Ryan Dahl 领导,后来得到 Joyent 的支持。Node.js 是一个开源框架,用于构建快速且可扩展的服务器端JavaScript 应用程序。Ryan Dahl 于 2009 年创建了Node.js框架。

新华编程特战队 1674

Matplotlib字体警告终结者:为什么总提示DejaVu Sans?5种场景解决方案大全

本文深入解析Matplotlib中常见的DejaVu Sans字体警告问题,并提供5种典型场景的完整解决方案。从理解字体系统的三层架构和缓存机制,到解决中文显示、远程服务器部署、TeX渲染、缓存优化及生产环境配置等实际问题,帮助开发者彻底摆脱字体警告困扰,实现稳定可靠的数据可视化。

view3的博客 502

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2322

node.js深入浅出2-----node.js的c++层

(一)v8引擎? V8引擎 首先,学习node.js一定要了解V8引擎,他是一个可以把js直接编译成(处理器可以识别的)机器码的东西。 再详细点,V8是一个 开源的 用C++写的 根据ECMA标准实现JavaScript 可以把JavaScript编译成处理器可以识别的机器码 可以独立运行 也可以嵌入其他C++应用的JavaScript引擎。 (二)Node.js与V8引擎 普...

Mar.三月 655

电力现货交易市场-报价方式

电是一种能源,也是一种商品,既然是商品自然可以在市场中进行自由交易。

qq_38225433的博客 5119

nodejs和vue的那些事

nodejs >1.旨在提供一种简单的构建可伸缩网络程序的方法 官方网站:http://nodejs.cn/api/ Node.js 是一个基于Chromev8 JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效 >2特点 \1. 它是一个Javasc...

weixin_30407613的博客 1456

实战演练 | ABAQUS显式动力学分析在金属切削仿真中的应用

本文详细介绍了如何利用ABAQUS显式动力学分析进行金属切削过程的二维仿真。通过从零开始的完整流程,包括几何建模、材料本构与失效定义、网格划分、接触设置、边界条件施加,到结果后处理与切削力提取,为工程师和研究人员提供了实用的仿真方法,以优化刀具设计和加工工艺。

purple的博客 931

SAP FICO - 外币交易实战:汇率类型配置与货币换算率管理

月底关账前的外币评估就像财务人的"期末考",OB59配置就是你的备考方案。最低值原则(Lowest value principle)最保守。它会比较原始汇率与评估日汇率,取不利方向确认损失。适合风险厌恶型企业,我在制造业客户中应用最多。重估法(Revalue only)更反映市场现状。无论盈亏都按最新汇率调整,适合交易性金融资产处理。有个基金公司客户就靠这个方法及时反映了外汇波动收益。最小差异金额(Minimum difference)是防骚扰设置。

weixin_42524708的博客 358

【Node.js】编程基础(一):JavaScript基本语法

【Node.js】编程基础1、JavaScript版本2、JavaScript运行环境3、JavaScript语句与注释4、变量5、数据类型数值(Number)字符串(String)对象(Object)符号(Symbol)映射(Map)集合(Set)6、JavaScript的函数匿名函数箭头函数高阶函数7、JavaScript的类8、严格模式9、JavaScript编程规范代码格式命名规范 1、JavaScript版本 ECMA组织制定了JavaScript语言的标准——ECMAScript(简称ES)

GY的博客 587

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JavaScript结合node.js和Express框架制作项目教程详细版(一)——基础语法

学习用node.js创建一个项目

ttowill的博客 1394

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

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Node.js高级编程【一】node 基础

Node 基础 1、课程概述 Node.js可以做什么 ? 2、Node.js 架构 Native modules Builtin modules "胶水层" 底层 3、为什么是Node.js ? Node 慢慢演化为一门服务端“语言” IO 是计算过程操作过程中最缓慢的环节 Reactor 模式,单线程完成多线程工作 Reactor 模式下实现异步IO、事件驱动 Node.js 更适用于 IO 密集型高并发请求 4、Node.js 的 异步...

weixin_37883657的博客 2350

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Node.js从基础到高级运用】一、了解Node.js基础概念

Node.js是一个开源、跨平台的JavaScript运行环境,它允许开发者使用JavaScript来编写服务器端代码。它由Ryan Dahl在2009年发布,目的是提供一个轻量级的、能够实现高并发的服务器环境。Node.js不是一种编程语言,也不是框架,它是一个平台,让JavaScript能够在服务器端运行。通过以上简介,你应该对Node.js有了一个基本的了解。它的事件驱动和非阻塞I/O特性使得Node.js成为了构建高性能应用的理想选择。

Vip_wk的博客 984

Node.js基础(一)

黑马程序员Node.js全套入门教程笔记

weixin_47193424的博客 2112

我的Node.js学习历程【一】之基础认识

前言 2021年1月20日,初遇Node.js,有感而发,写出如此文章,若有错误敬请指正。 一、Node是什么 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 二、Node的组成 JavaScript由三部分组成:ECMAScript、Bom、Do

weixin_49115895的博客 627

Node.js(一)- Node基础、Node中的模块加载

2021.2.28 文章目录Node.js(一)Node基础Node开发概述为什么要学习服务器端(后端)开发基础服务器端开发要做的事情为什么选择NodeNode是什么Node.js运行环境安装Node.js快速入门Node.js的组成Node.js基础语法Node.js全局对象globalNode中的模块加载及包Node.js模块化开发JavaScript开发弊端软件中的模块开发Node.js中模块化开发规范模块成员导出模块成员导入模块成员导出的另一种方式系统模块什么是系统模块系统模块fs 文件操作系统.

Ludwig1957的博客 554

Node.js详解(一):基础知识

Node.js是一个javascript运行环境。它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP、Java、Python、.NET、Ruby等后端语言平起平坐。Node.js是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的js解释部分,但是Node.js 之父 Ryan Dahl把V8引擎搬到了服务器上,用于做服务器的软件。​

Java+GO+JS全栈工程师-鹤冲天的博客:编程辅导~商务合作~技术交流 8418

Node.js基础知识一

什么是Node.js Node.js是一个基于chrome V8引擎的JavaScript运行环境,并且Node.js的包管理器npm是全球最大的开源库生态系统 优点 1.事件的驱动 2.非阻塞式i/o的模型(异步操作) 缺点 兼容的平台少 学习资源少,要求高 要求(配置环境) 安装Node.js,数据库mysql 官网:nodejs.org 编写: 任何编辑器,js文件内,不存在html文件 D...

qq_43267350的博客 390

Node.js(一)-基础

Node.js让你的网络编程更加简单、高效、稳定!

Stitch_xiao的博客 1057

进击Node.js基础(一)

一.前言 1:Node.js本质上是用chrome浏览器 v8引擎 使用c++编写的JS运行环境 2:相比于JS没有浏览器安全级的限制,额外提供了一些系统级的API:文件读写,进程管理,网络通信等。 3:有很多借助NODE.JS完成的项目如appjs跨平台桌面应用,Jade和node.js组合使用便捷管理后台html模板,grunt自动化运行工具,express.js 4:nodejs.org,n...

u011927449的博客 251

Node.js(一、Node.js基础、模块加载机制、包等)

Node.js1、Node.js基础1.1、Node是什么1.2、Node环境安装失败解决方法1.2.1、错误代码2502、25031.2.2、执行命令报错1.2.3、PATH环境变量1.3、Node.js的组成1.3.1、Node.js基础语法1.3.2、Node.js全局对象global2、模块加载及第三方包2.1、Node.js模块化开发2.1.1、模块成员导出2.1.2、模块成员的导入2.1.3、模块成员导出的另一种方式2.2、系统模块2.2.1、什么是系统模块2.2.2、系统模块fs 文件操作2.

weixin_44767973的博客 3960

node,js的基础认识(一)

node,js 淘宝镜像npm config set registry https://registry.npm.taobao.org npm install gulp -g //全局安装 npm install gulp -D //安装本地依赖 如果装SASS不下可以卸载重装 npm uninstall gulp-sass -D卸载可以重装 npm install gulp cnpm -g 然后在 cnpm install gulp-sass -D npm -V看版本号 npm install gulp-

yangyabing2020的博客 289

node.js基础操作(一)

一 node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 浏览器是js的前端运行环境, node.js是js的后端运行环境 node.js种无法使用dom和bom等浏览器内置API 二 node 基础指令 // 终端下 npm node -v // 查询版本 ① 使用 ↑ 键,可以快速定位到上一次执行的命令 ② 使用 tab 键,能够快速补全路径 ③ 使用 esc 键,能够快速清空当前已输入的命令 ④ 输入 cls 命令,可..

weixin_59855361的博客 870

Node.js 基础入门(一) 初识 Node.js 与内置模块

Node.js基础前言1 初识Node.js1.1 回顾web基本技术1.2 Node.js 简介1.2.1 什么是 Node.js1.2.2 Node.js 中的 JavaScript 运行环境1.2.3. Node.js 可以做什么1.3 Node.js 环境的安装1.3.1 区分 LTS 版本和 Current 版本的不同1.3.2 查看已安装的 Node.js 的版本号1.4 在 Node.js 环境中执行 JavaScript 代码2. fs 文件系统模块2.1 什么是 fs 文件系统模块2.2

ElysiaAILab 1182
上一篇: JavaScript的一些基本知识 -- 函数
下一篇: node.js基础(二)
黎默丶lymoo
博客等级 码龄10年 11粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值