【前端工程化】01-Node.js基础

news2024/9/29 9:35:56

Node.js基础

  • 认识Node
    • Node的定义
    • Node的应用场景
  • Node的安装和版本管理
  • Node的基本操作
    • Node.js执行文件
    • Node的参数传递
    • Node的REPL

认识Node

Node的定义

Node.js是一个基于V8 JavaScript引擎JavaScript运行时环境

Node.js为JavaScript提供了一些服务器级别的操作API

  • 文件读写
  • 网络服务的构建
  • 网络通信
  • http服务器等处理

Node的应用场景

Node.js的快速发展也让企业对Node.,js技术越来越重视,在前端招聘中通常会对Node,js有一定的要求,特别对于高级前端开发工程师,node.js更是必不可少的技能:

  • 应用一:目前前端开发的库都是以node包的形式进行管理, 比如webpack, Vuex, vue-router等等;
  • 应用二:npm、yarn、pnpm工具成为前端开发使用最多的工具
  • 应用三:越来越多的公司使用Node.js作为web服务器开发、中间件、代理服务器
  • 应用四:大量项目需要借助Node.js完成前后端渲染的同构应用
  • 应用五:资深前端工程师需要为项目编写脚本工具(前端工程师编写脚本通常会使用JavaScript,而不是Python或者shell);
  • 应用六:很多企业在使用Electron来开发桌面应用程序

Node的安装和版本管理

Node.js安装Node.js是在2009年诞生的,目前最新的版本是分别是LTS18.14.2以及Current 19.7.0:

  • LTS版本:(Long-term support, 长期支持)相对稳定一些,推荐线上环境使用该版本;
  • Current版本:最新的Node版本,包含很多新特性;

在这里插入图片描述
如何选择版本

  • 如果是学习使用,建议选择current版本;
  • 如果是公司开发,建议选择LTS版本(此处以LTS版本示例);

成功下载后出现如下msi后缀安装包,点击安装即可:

在这里插入图片描述

  • 安装过程中全勾选会自动配置环境变量;
  • 并且会安装npm等依赖包;

在这里插入图片描述

安装完成后再cmd窗口中输入node --versionnpm -version看到对应的版本
号以此来检测是否安装成功:
在这里插入图片描述

Node的基本操作

Node.js执行文件

如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢? 目前我们知道有两种方式可以执行

  1. 将代码交给浏览器执行; 将代码载入到node环境中执行;

如果我们希望把代码交给浏览器执行:
(1)需要通过让浏览器加载、解析html代码,所以我们需要创建一个html文件;
(2) 在html中通过script标签,引入js文件;
(3) 当浏览器遇到script标签时,就会根据src加载、执行JavaScript代码;

  1. 如果我们希望把js文件交给node执行:

(1) 首先电脑上需要安装Node.js环境,安装过程中会自动配置环境变量;
(2)可以通过终端命令 node js文件名的方式来载入和执行对应的js文件;

示例:
在这里插入图片描述
终端:
在这里插入图片描述

Node的参数传递

  • 正常情况下执行一个node程序,直接跟上我们对应的文件即可:

node index.js

  • 但是,在某些情况下执行node程序的过程中,我们可能希望给node传递一些参数:

node index.js env=development sevgilid

  • 如果我们这样来使用程序,就意味着我们需要在程序中获取到传递的参数:

获取参数其实是在process的内置对象中的;
如果我们直接打印这个内置对象,它里面包含特别的信息:其他的一些信息,比如版本、操作系统等

找到其中的argv属性:发现它是一个数组,里面包含了我们需要的参数:

console.log(process.argv)
// process.argv会返回一个数组
// 索引0: node程序的文件夹
// 索引1: js执行的文件夹
// 索引2开始, 传递的参数


Node的输出

console.log:最常用的输入内容的方式:console.log console.clear:清空控制台:console.clear
console.trace:打印函数的调用栈:console.trace
还有一些其他的方法,其他的一些console方法,可以自己在下面学习研究一下。
node中的console方法)

Node的REPL

在这里插入图片描述
事实上,浏览器的console就可以看成一个REPL:

在这里插入图片描述
Node也给提供了一个REPL环境,可以在其中演练简单的代码:

开启终端后输入node,点击回车启动node下的repl环境,随机输入测试代码即可;(两次ctrl+c则退出当前环境)
示例在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

背靠“湘潭系”的谭新乔,能带领湖南裕能再上一个台阶吗?

文丨熔财经作者|kinki近日,磷酸铁锂正极材料龙头湖南裕能正式登陆A股,上市当天市值超过了400亿元,投资者中一签可赚1.49万元,可谓近年低迷的资本市场中一支“大肉签”。不过在 “开门红”之后,湖南裕能的股价便一路下挫…

ETL工具(kettle) 与 ETL产品(BeeloadBeeDI) 差之毫厘,谬以千里

E T L——是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。工具——原指工作时所需用的器具,后引申为达…

Clickhouse学习(一):MergeTree概述

MergeTree一、Clickhouse表引擎概述二、MergeTree表引擎<一>、ReplacingMergeTree引擎<二>、SummingMergeTree引擎<三>、AggregatingMergeTree引擎三、MergeTree分区一、Clickhouse表引擎概述 MergeTree表引擎:允许根据日期和主键创建索引 1、ReplacingMerge…

实践IC-GVINS: 以惯导为核心的GNSS-Visual-INS组合导航系统

视觉导航系统对环境比较敏感&#xff0c;受到光照变化、重复纹理、动态物体等影响&#xff1b;惯性导航系统(INS)则完全自主工作&#xff0c;不受外部环境影响&#xff0c;能够实现连续、高频的自主导航&#xff0c;但其误差发散较快。两者组合能够取长补短&#xff0c;形成视觉…

毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计

基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STM32F103C8T6核心系统电路设计2.2心率检测电路设计2.3 TFT2.4寸彩屏电路设计3、部分代码展示3.1 ADC初始化3.2 获取ADC采样值3.3 LCD引脚初始化3.3 在LCD指定位置显…

15 Nacos客户端实例注册源码分析

Nacos客户端实例注册源码分析 实例客户端注册入口 流程图&#xff1a; 实际上我们在真实的生产环境中&#xff0c;我们要让某一个服务注册到Nacos中&#xff0c;我们首先要引入一个依赖&#xff1a; <dependency><groupId>com.alibaba.cloud</groupId>&l…

Android与flutter混合开发

这里我使用的android studio版本是2020.3.1&#xff1b;flutter版本2.5.3。此前在网上搜索的很多教教程版本都不一样&#xff0c;新版的IDE和SDK让我遇到了很多坑故这里整理一下。一、创建项目1.在Android项目中点击File->New->New Flutter Project。File->New->Ne…

认识STM32和如何构建STM32工程

STM32介绍什么是单片机单片机(Single-Chip Microcomputer)是一种集成电路芯片&#xff0c;把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种/0口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电…

快速找到外贸客户的9种方法(建议收藏)

所有外贸企业想要做好外贸出口的头等大事&#xff0c;就是要快速的找到优质的外贸客户和订单&#xff0c;没有订单的达成&#xff0c;所有的努力都是图劳&#xff0c;还有可能会陷入一种虚假的繁荣&#xff0c;每天都很忙&#xff0c;但是没有结果。今天&#xff0c;小编就来分…

在VScode中添加Linux中的Docker容器中的Python解释器

VScode编辑器在安装好Python插件之后会自动选择环境变量中排序最高的那一个解释器作为默认解释器&#xff0c;而想要额外添加新的Python解释器就需要自己设置。 VScode编辑器安装在本地电脑 支持Python的docker安装在远程服务器 第一步&#xff0c;在/usr/local/下新建pytho…

Telnet 基础实验1: Telnet 实验

Telnet 基础实验1&#xff1a; Telnet 实验 拓扑图 配置命令 R1 的配置 undo ter mo sys sys R1 interface g0/0/0 ip address 192.168.1.1 255.255.255.0 qR2 的配置 undo ter mo system-view sysname R2 interface g0/0/0 ip address 192.168.1.2 255.255.255.0 q两台设…

微信小程序和webview使用postMessage交互

小程序和webview能交互&#xff0c;但是没有你想的那个完美小程序向webview传递参数只能使用url携带参数webview向小程序传递参数可以使用postMessage, 但是注意了&#xff0c;postMessage只会在特定的时机执行&#xff0c;请看官方文档由此可见&#xff0c;如果你想点击webvie…

深度剖析指针(上)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是指针噢&#xff0c;在学习C语言的过程中&#xff0c;指针算是一个比较重要的内容&#xff0c;当然&#xff0c;难度也是比较大的&#xff0c;那么现在就让小雅兰来带大家进入指针的世界吧 字符指针 数组指针…

HiEV洞察 | 特斯拉HW4.0再爆猛料,高精定位、雷达均有变动

作者 | 查理斯 编辑 | 王博特斯拉 HW4.0 消息传出后&#xff0c;有人爆料说在硬件层面发生了巨大变化&#xff0c;引发行业轰动。大家都在猜测HW4.0 具体做了哪些改动。 2月16日&#xff0c;Twitter用户greentheonly爆出HW4.0的主板拆解照片。2月18日又爆出毫米波雷达的拆解照片…

[oeasy]python0095_乔布斯求职_雅达利_atari_breakout_打砖块_布什内尔_游戏机_Jobs

编码进化 回忆上次内容 上次 我们回顾了 电子游戏的历史 从 电子游戏鼻祖 双人网球到 视频游戏 PingPong再到 街机游戏 Pong 雅达利 公司 来了 嬉皮士 捣乱&#xff1f;&#x1f914; 布什内尔 会如何 应对 呢&#xff1f;&#x1f914; 布什内尔 布什内尔 本身就有点 …

Maven创建父子项目工程详细配置

Maven创建父子项目工程详细配置1.Maven子父工程依赖配置2.环境/版本一览&#xff1a;3.创建父工程4.创建子工程5.子模块之间引用依赖6.打包1.Maven子父工程依赖配置 你还在对Maven子父工程依赖配置感到疑惑吗&#xff1f;看了这篇文章你讲对它们有个新的认知&#xff0c;小白也…

构建对话机器人:Rasa3安装和基础入门

在开源对话机器人中&#xff0c;Rasa社区很活跃&#xff0c;在国内很多企业也在使用Rasa做对话机器人&#xff0c;有rasa开发经验的往往是加分项。 当年实习的时候接触到了Rasa&#xff0c;现在工作中也使用Rasa&#xff0c;因此&#xff0c;写写一些经验文档&#xff0c;有助后…

测试报告踩坑的点

测试报告作为测试人员的核心输出项&#xff0c;是体现自己工作价值的重要承载工具&#xff0c;需要我们认真对待&#xff0c;所以我们要重视测试报告的输出&#xff0c;那么在编写测试报告的时候&#xff0c;我们有哪些点需要注意的呢? 01 不要乱用模板 很多测试新人在编写测试…

LeetCode 周赛 334,在算法的世界里反复横跳

本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 提问。 大家好&#xff0c;我是小彭。 今天是 LeetCode 第 334 场周赛&#xff0c;你参加了吗&#xff1f;这场周赛考察范围比较基础&#xff0c;整体难度比较平均&#xff0c;第一题…

使用linux部署项目步骤

文章目录前言一、服务器环境配置二、数据库导入三、项目打包1、修改项目中的访问路径2、修改db.properties的数据库访问路径3、打包4、修改配置&#xff0c;启动服务四、测试总结前言 今天学习了在服务器中部署项目&#xff0c;记录一下 一、服务器环境配置 首先要安装VMware&…