翼度科技»论坛 编程开发 JavaScript 查看内容

Node学习第一步 | 简介及安装

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
什么是node


  • Javascript可以在浏览器运行, node可以让javascript在浏览器之外运行
  • 可以用来做本地运行的软件/网络服务器/游戏等等
记得安装vs code里面力扣插件需要先安装node.js, 但我不知道node是做什么的
  1. Last login: Fri Sep 22 13:34:30 on ttys003
  2. l@away ~ % node
  3. zsh: command not found: node
复制代码
本地还没有安装node, 下面开始安装
安装node


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

  • 安装pkg⬇️
    continue- continue- agree- continue- install

  • 安装完成✅
    终端terminal里面输入node可以看到版本号/node -v
  • ctrl+c两次/ctrl+d/.exit退出
  1. l@away ~ % node
  2. Welcome to Node.js v18.18.0.
  3. Type ".help" for more information.
  4. >
  5. >
  6. >
  7. >
  8. >
  9. (To exit, press Ctrl+C again or Ctrl+D or type .exit)
  10. >
复制代码
Node REPL


  • 和浏览器中的console界面类似
  1. l@away ~ % node
  2. Welcome to Node.js v18.18.0.
  3. Type ".help" for more information.
  4. > .help
  5. .break    Sometimes you get stuck, this gets you out
  6. .clear    Alias for .break
  7. .editor   Enter editor mode
  8. .exit     Exit the REPL
  9. .help     Print this help message
  10. .load     Load JS from a file into the REPL session
  11. .save     Save all evaluated commands in this REPL session to a file
  12. Press Ctrl+C to abort current expression, Ctrl+D to exit the REPL
  13. > 1 + 2
  14. 3
  15. > "hello" + "world"
  16. 'helloworld'
复制代码
global scope可以输入global查看
使用global下面的function
  1. > setTimeout(() => {console.log("Heloo")}, 3000)
  2. Timeout {
  3.   _idleTimeout: 3000,
  4.   _idlePrev: [TimersList],
  5.   _idleNext: [TimersList],
  6.   _idleStart: 398982,
  7.   _onTimeout: [Function (anonymous)],
  8.   _timerArgs: undefined,
  9.   _repeat: null,
  10.   _destroyed: false,
  11.   [Symbol(refed)]: true,
  12.   [Symbol(kHasPrimitive)]: false,
  13.   [Symbol(asyncId)]: 365,
  14.   [Symbol(triggerId)]: 6
  15. }
复制代码

  • 和客户端JS区别

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

如何运行一个脚本


  • terminal新建文件
    touch firstTest.js
  • vs code编辑此文件
  1. for(let i = 0; i < 10; i++) {
  2.     console.log("hello from first script!!")
  3. }
复制代码

  • terminal通过命令行node filename运行
  1. l@away code % touch firstTest.js
  2. l@away code % node firstTest.js
  3. hello from first script!!
  4. hello from first script!!
  5. hello from first script!!
  6. hello from first script!!
  7. hello from first script!!
  8. hello from first script!!
  9. hello from first script!!
  10. hello from first script!!
  11. hello from first script!!
  12. hello from first script!!
  13. l@away code %
复制代码
命令行传入参数


  • vs code 编辑脚本文件
    通过process.argv.slice(2)获得参数的list
    其中argv的第一个是运行路径, 第二个运行的脚本文件所在路径
  1. console.log("hello from args", process.argv);
  2. const personList = process.argv.slice(2);
  3. for (p of personList) {
  4.     console.log(`hello, ${p}`);
  5. }
复制代码

  • terminal运行时node filename arg1 arg2 aeg3传入参数
  1. l@away code % node args.js person1 person2 person3
  2. hello from args [
  3.   '/usr/local/bin/node',
  4.   '/Users/leah/code/args.js',
  5.   'person1',
  6.   'person2',
  7.   'person3'
  8. ]
  9. hello, person1
  10. hello, person2
  11. hello, person3
复制代码
来源:https://www.cnblogs.com/someoneleah/p/17722147.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具