Node需要了解的知识

Node能执行javascript的原因。

浏览器之所以能执行Javascript代码,因为内部含有v8引擎。Node.js基于v8引擎封装,因此可以执行javascript代码。Node.js环境没有DOM和BOM。DOM能访问HTML所有的节点对象,BOM是浏览器对象。但是node中提供了console模块,且将console是一个全局对象,因此可以执行。

Node命令内封装了v8引擎。

相关命令

1.node -v知道是查看当前Node的版本

2.node js文件路径,看到这个命令,会去执行js文件的代码。

node js文件路径,

有以下两种方式:

                           1):相对路径:node会在前面的路径下找node后所写路径/文件。

                            2):绝对路径 node后直接写绝对路径

node命令执行js文件内../所代表的是node前面文件夹下文件开始往前。

浏览器执行时是所在文件,

因为node命令执行相对路径../会有差别,因此用在js文件中,不写./或../,写绝对路径,浏览器与node命令执行时,都不会有错。

了解

console.log()与console.dir()

两个都是输出,但是dir参数是对象时输出会更易观察各个属性,且输出不能识别标签。

后者只能输出第一个参数,前者可以输出多个参数。

fs模块

模块就是js文件,fs.js文件导出的是对象。

对于require导入,内写的如果是内置模块/npm命令生成的包,都可以直接写文件名,对于

自己定义的文件/包需要写能找到的路径

先导入,fs模块名,导入之后生成的是导出的对象,且这个对象内写了writeFile函数,该函数有三个参数,第一个是文件路径,第二个是写入的内容,第三个是回调函数,该函数执行过程是将写入内容写到文件路径,如果找不到文件,会创建对应的文件,写入之后,会执行第三个参数,调用这个回调函数,第一个参数如果写入成功传递的是null,如果失败是错误对象。

读取文件内容,fs导出的对象,内有readFile函数,第一个参数是路径,第二个参数是回调函数,这个方法调用时,会找到对应文件,读取数据,执行第二个参数,调用回调函数,第一个参数和写入一样,但是第二个参数如果写入失败也是错误对象,成功的话是数据且数据是读取的buffer对象

buffer对象的toString()返回值是字符串。

require只有node执行时才知道是什么,require函数是内置函数。因此对应模块导入导出,浏览器不能执行。

fs上述两个方法是异步,可以执行,但是写入/读取和定时器计时一样,会去执行,但是执行完了调用的回调函数是处于任务队列内。

Path模块

我们之前提出的当node执行js文件内相对路径的问题,用绝对路径即可

绝对路径可以用path模块来写,更为简易。

node内含有内置常量_ _dirname是执行node js文件所在文件夹的路径,_ _filename表示的是文件所在路径完整的。path.js文件导出的对象的join方法可以将参数的几个路径连接起来,返回值就是这个,且每个参数之间以/或\连接,看是什么系统,一个参数内也可有/\,最后会转换成系统下特定的。参数内有或../是对加/后前面的路径。\后是.,去\,..去\路径\

node

问题一:导出两方法对于模块等文件

对于模块fs,http,path等都是写的是第一种导出。因此只能用第一种导入。以及npm的导出

但是对于自定义的可以是任意一种导出,导入时需要配合package.json文件。

问题二:浏览器执行问题?

对于require函数可以返回导出的,与内置常量只有node执行会自动生成,但是浏览器只有v8引擎

无法有这些,但是如果js文件能给浏览器执行,只是看有些能否执行。

node只能执行js文件。

URL中的端口号

URL是由协议+域名+端口号+资源如今

创建web服务器

   模块化

每一个JS文件都是模块。

导入导出

1.CommonJS标准

require内如果是内置模块/npm则直接写名字,其他需要写路径。返回值是这个对象。

对于CommonJS只能导出一个。且module.export.x=1导出,导入是导入的是值,即使是对象

也只是值,且不会创建地址名为x。只要是对象就可以属性值写的是变量且和属性名一致,可以省略。

ECMAScript导出导出

export 定义的变量/常量

import {} from '模块名或路径'

export导出需要些package.json文件,未写时默认是CommonJS。导出导入需要写这个默认是

运行JS导入文件夹下需要package.json文件。只能有一种。

将模块(js文件)以及相关代码资料写在一个文件夹下。

包根据功能,分为软件包与项目包,项目包用于编写项目与业务逻辑,软件包内是工具与方法。

以及我们包内需要有package.json写清包的各个资料。

npm安装

1.npm可以安装局部软件包

执行1会在npm前面的文件夹下安装包需要的package.json文件,有该文件无需执行

执行2,会生成node_modules的文件夹在npm前面文件夹下。内有软件包。

可以直接写require(‘包名’),对于JS文件是模块可以直接写名字/npm下载的软件包,写软件包的包名,返回的是入口文件的返回值。直接写的包,也是返回入口文件的返回值,但是需要写路径

npm安装的软件包,安装时会在package.json文件内写,且会生成package-lock.json使得安装过的软件包只能是这个版本,安装时是安装最新的版本。

2.npm i

不写软件包的包名,会生成node_modules文件夹,下是package.json文件下的软件包,

如果直接磁盘传递下载很慢,但是直接npm下载较快,且自己定义的局部软件包也在弄得_modules下。

可以导入导出,但是软件包所携带的命令只能在对应软件包路径能访问才行。

3.下载全局软件包

npm i 软件包 -g下载到全局的nodemon软件包

命令可以访问,该命令会执行后面的js文件,且会当改变代码保存后会自己执行一遍。

在线程内。

命令总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/452247.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音箱、功放播放HDMI音频解决方案之HDMI音频分离器HHA

HDMI音频分离器HHA简介 HDMI音频分离器HHA具有一路HDMI信号输入,转换成一路HDMI信号、一路5.1光纤音频信号、一路5.1 SPDIF/同轴音频信号和一路模拟左右声道立体声信号输出,同时还支持EDID存储及兼容HDCP功能;分辨率最高支持1920*1080p&#…

Ainx框架实现 一

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📗本文收录于Ainx系列,大家有兴趣的可以看一看 📘相关专栏Rust初阶教程、go语言基础系列…

QGraphicsScene中显示GIF动图,GIF图片在场景中移动

文章目录 效果图引言显示GIF图片(方法一)显示GIF图片(方法二)GIF图片在场景中运动 效果图 引言 当我们想在QGraphicsScene显示或者说绘制一张GIF动图时,该如何处理?Qt中的 QGraphicsItem 的 paint 函数中&…

【开源】WordPress一键崩溃宕机插件(整活娱乐)

插件介绍 可一键实现Wordpress崩溃宕机的整活向插件(请勿用于非法途径,仅供整活娱乐)。鼓励关注网站性能的提升,以提供更好的用户体验,提倡为用户提供良好体验和高效速度的原则。 介绍 长期以来,人们都在…

暗黑童话《潘神的迷宫》赏析

故事背景 《潘神的迷宫》是一部由吉尔莫德尔托罗执导的墨西哥电影,讲述了一个结合了幻想、战争、童话和现实主义元素的故事。影片发生在西班牙内战期间,主要通过一名名叫奥菲莉亚的女孩的视角来展开。 故事梗概: 奥菲莉亚和她怀孕的母亲卡…

如何排查常规软件问题 - 面向 Linux 初级用户的教程

笔者从 14 年做开源软件以来,接触了众多 Linux 新手用户,这里我为这类用户总结了一些常见的问题排查方法,希望能帮助到大家。如果你已经工作多年,对于下面提到的思路和方法应该非常熟悉,如果对某一条感到陌生&#xff…

Stable Diffusion 模型下载:ReV Animated

模型介绍 该模型能够创建 2.5D 类图像生成。此模型是检查点合并,这意味着它是其他模型的产物,以创建从原始模型派生的产品。 条目内容类型大模型基础模型SD 1.5来源CIVITAI作者s6yx文件名称revAnimated_v122EOL.safetensors文件大小5.13GB 生成案例 …

瑞_23种设计模式_工厂模式

文章目录 1 什么是工厂模式案例案例代码 2 简单工厂模式(Simple Factory)2.1 简单工厂模式的结构2.2 案例改进——简单工厂模式2.3 案例改进代码实现2.4 简单工厂模式优缺点2.5 拓展——静态工厂 3 工厂方法模式(Factory Method)★…

【爬虫实战】全过程详细讲解如何使用python获取抖音评论,包括二级评论

简介: 前两天,TaoTao发布了一篇关于“获取抖音评论”的文章。但是之前的那一篇包涵的代码呢仅仅只能获取一级评论。虽然说抖音的一级评论挺精彩的了,但是其实二级评论更加有意思,同时二级评论的数量是很多。所以二级评论是非常值…

React Native学习记录

一、创建RN项目的时候是空文件夹的问题 1.使用npx react-native init RNDemos初始化项目的时候,会报错,模版错误,然后创建出来一个空的文件夹 2.如果出现这种情况,需要设置npm install -g react-native-cli 3.安装完成以后再次初…

关于Django部署

首先了解一下开发环境服务器跟生产环境服务器有何不同。 一、我们通过 python manage.py runserver 启动开发环境服务器,这条命令背后做了哪些事情? 1、首先加载Django项目的设置(settings) 2、检查数据库迁移,确保数…

信任与创新 | 回顾通付盾的2023!

-END- 数信云,基于区块链与人工智能的数据安全应用与服务平台