什么是node

  • Javascript可以在浏览器运行, node可以让javascript在浏览器之外运行
  • 可以用来做本地运行的软件/网络服务器/游戏等等

记得安装vs code里面力扣插件需要先安装node.js, 但我不知道node是做什么的

Last login: Fri Sep 22 13:34:30 on ttys003
l@away ~ % node
zsh: command not found: node

本地还没有安装node, 下面开始安装

安装node

  • 登陆node官网下载
  • 选择左边稳定版本

  • 安装pkg️

    continue- continue- agree- continue- install

  • 安装完成

    终端terminal里面输入node可以看到版本号/node -v
  • ctrl+c两次/ctrl+d/.exit退出
l@away ~ % node
Welcome to Node.js v18.18.0.
Type ".help" for more information.
>
>
>
>
>
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
>

Node REPL

  • 和浏览器中的console界面类似
l@away ~ % node
Welcome to Node.js v18.18.0.
Type ".help" for more information.
> .help
.break Sometimes you get stuck, this gets you out
.clear Alias for .break
.editor Enter editor mode
.exit Exit the REPL
.help Print this help message
.load Load JS from a file into the REPL session
.save Save all evaluated commands in this REPL session to a file Press Ctrl+C to abort current expression, Ctrl+D to exit the REPL
> 1 + 2
3
> "hello" + "world"
'helloworld'

global scope可以输入global查看

使用global下面的function

> setTimeout(() => {console.log("Heloo")}, 3000)
Timeout {
_idleTimeout: 3000,
_idlePrev: [TimersList],
_idleNext: [TimersList],
_idleStart: 398982,
_onTimeout: [Function (anonymous)],
_timerArgs: undefined,
_repeat: null,
_destroyed: false,
[Symbol(refed)]: true,
[Symbol(kHasPrimitive)]: false,
[Symbol(asyncId)]: 365,
[Symbol(triggerId)]: 6
}
  • 和客户端JS区别

    • node不是在浏览器上运行, 不能对浏览器中的window/document/DOM API进行操作
    • 可以和操作系统/文件系统进行交互

如何运行一个脚本

  • terminal新建文件

    touch firstTest.js
  • vs code编辑此文件
for(let i = 0; i < 10; i++) {
console.log("hello from first script!!")
}
  • terminal通过命令行node filename运行
l@away code % touch firstTest.js
l@away code % node firstTest.js
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
hello from first script!!
l@away code %

命令行传入参数

  • vs code 编辑脚本文件

    通过process.argv.slice(2)获得参数的list

    其中argv的第一个'/usr/local/bin/node'是运行路径, 第二个'/Users/code/args.js'是运行的脚本文件所在路径
console.log("hello from args", process.argv);
const personList = process.argv.slice(2);
for (p of personList) {
console.log(`hello, ${p}`);
}
  • terminal运行时node filename arg1 arg2 aeg3传入参数
l@away code % node args.js person1 person2 person3
hello from args [
'/usr/local/bin/node',
'/Users/code/args.js',
'person1',
'person2',
'person3'
]
hello, person1
hello, person2
hello, person3

Node学习第一步 | 简介及安装的更多相关文章

  1. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  2. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  3. Java学习第一步: Win7配置JDK环境

    转摘"专注JavaWeb开发":http://www.javaweb1024.com/java/Javajichu/2015/03/02/353.html 下载JDK并安装到本机  ...

  4. Qt 学习第一步 做计划和确定目标

    接下来開始一步步深入学习Qt. 学习的第一步是整理资料,也就是找书和sample. 逛了一些论坛,推荐以下3本书 1> C++ GUI programming with Qt 4(2nd Edi ...

  5. Struts2 学习第一步准备工作

    第一步:安装下载MyEclispe10 对于MyEclispe的下载安装就不再详述了. 第二步:下载Struts-2.3.15 Struts-2.3.15下载地址: http://struts.apa ...

  6. java学习第一步,使用IntelliJ IDEA编写自己的第一个java程序

    首先下载java的jdk,然后说一下IDEA的配置 IntelliJ IDEA目前公认的最好的java开发工具,不过一般的学校的教学还是使用eclipse来进行java的开发.所以老师一般只会教你如何 ...

  7. caffe windows 学习第一步:编译和安装(vs2012+win 64)

    没有GPU,没有linux, 只好装caffe的windows版本了. 我的系统是win10(64位),vs 2012版本,其它什么都没有装,因此会需要一切的依赖库. 其实操作系统只要是64位就行了, ...

  8. GIT学习之路第一天 简介及其安装

    本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制 ...

  9. Java学习第一步——JDK安装及Java环境变量配置

    Java作为当下很主流的编程语言,学习Java的朋友也越来越多了,作为一门面向对象的编程语言,Java也有着安全.高 效等诸多有点.从TIOBE(TIOBE排行榜是根据互联网上有经验的程序员.课程和第 ...

  10. Linux学习第一步(虚拟机的和镜像文件的安装)

    一.安装虚拟机(本文以vmware workstation 12为例) 1.在网上所有虚拟机并下载. 2.找到下载文件安装好 3.一直下一步 4.接下来的就是选择安装的目录了,当然如果你的电脑c盘够大 ...

随机推荐

  1. 现代C++学习指南-方向篇

    C++是一门有着四十年历史的语言,先后经历过四次版本大升级(诞生.98.11.17(20),14算小升级).每次升级都是很多问题和解决方案的取舍.了解这些历史,能更好地帮助我们理清语言的发展脉络.所以 ...

  2. 【linux命令】最强大的编辑器vim用法简介(基础篇)

    vim编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器.它主要分为命令令行模式.插入模式和底行模式这三种,下面主要介绍一下这三种模式最简单常用的用法. 一.命令 ...

  3. memcached使用中踩的一些坑

    背景 线上启用memcached(以下简称mc)作为热点缓存组件已经多年,其稳定性和性能都经历住了考验,这里记录一下踩过的几个坑. 大key存储 某年某月某日,观察mysql的读库CPU占比有些异常偏 ...

  4. h2database BTree 设计实现与查询优化思考

    h2database 是使用Java 编写的开源数据库,兼容ANSI-SQL89. 即实现了常规基于 BTree 的存储引擎,又支持日志结构存储引擎.功能非常丰富(死锁检测机制.事务特性.MVCC.运 ...

  5. Apple、AWS 这些科技巨头,已悄然入局隐私计算

    随着数字化时代的到来,数据已经成为企业竞争的重要资源.然而,与此同时,数据隐私泄露的风险也在不断增加,这已经成为了公共安全和个人权利保护的重要问题.为了解决这个问题,科技巨头谷歌.苹果.亚马逊纷纷入局 ...

  6. LLaMA模型微调版本:斯坦福 Alpaca 详解

    项目代码:https://github.com/tatsu-lab/stanford_alpaca 博客介绍:https://crfm.stanford.edu/2023/03/13/alpaca.h ...

  7. 讯飞离线语音合成新版(Aikit)-android sdk合成 demo(Java版本)

    前言:科大讯飞的新版离线语音合成,由于官网demo是kt语言开发的,咱也看不懂kt,搜遍了全网也没看到一个java版的新版离线语音demo,现记录下,留给有缘人参考!!!!!毕竟咱在这上面遇到了不少的 ...

  8. 谷歌语法的基础知识&FOFA

    谷歌语法 谷歌语法基础符号: "xxx":表示完全匹配,即关键字不能分开,顺序也不能变 +:"xxx"+www.baidu.com  搜索xxx与baidu.c ...

  9. langchain:Prompt在手,天下我有

    目录 简介 好的prompt 什么是prompt template 在langchain中创建prompt template Chat特有的prompt template 总结 简介 prompts是 ...

  10. Acunetix使用说明

    简述 Acunetix是一种应用安全性扫描工具,旨在帮助发现和修复Web应用程序中的漏洞和安全风险. Acunetix可以发现以下一些常见的安全问题: 跨站脚本攻击(XSS):通过在网页中注入恶意脚本 ...