您的位置:

nodejs命令行调试程序(nodejs远程调试)

nodejs命令行调试程序(nodejs远程调试)

更新:

本文目录一览:

如何调试nodejs

Node Inspector 是一个可在webkit内核浏览器下进行nodejs调试的工具,其界面基本上跟chrome的调试工具一样,使用非常方便。

首先在全局环境中安装node inspector

[javascript] view plaincopy

npm install -g node-inspector

安装完成之后,以调试模式运行需要调试的node代码,比如

[javascript] view plaincopy

node --debug-brk app.js

这种方式会在代码运行的时候,强制在第一行添加断点

这时,会出现“debugger listening on port 5858”的提示

默认的端口是5858,也可以像这样修改:

node --debug-brk[=3000] app.js

然后,启动node-inspector,

[javascript] view plaincopy

node-inspector 

(因为之前的nodejs代码在运行,所以命令行窗口没办法输入新的命令,所以启动node-inspector需要新打开一个命令行窗口来输入)

根据提示中的地址,打开

就可以看到,一个模拟Chrome调试窗口的页面,加载了node中的所有代码,具体的调试方式,就和Chrome一样了。

还有一种方式是在代码中需要添加断点的地方,加入

[javascript] view plaincopy

debugger;

以下面这种方式运行

[javascript] view plaincopy

node --debug app.js

这样代码会运行到需要debugger的地方暂停。

如何在iis上部署node 调试

Node Inspector 是一个可在webkit内核浏览器下进行nodejs调试的工具,其界面基本上跟chrome的调试工具一样,使用非常方便。

首先在全局环境中安装node inspector

[javascript] view plaincopy

npm install -g node-inspector

安装完成之后,以调试模式运行需要调试的node代码,比如

[javascript] view plaincopy

node --debug-brk app.js

这种方式会在代码运行的时候,强制在第一行添加断点

这时,会出现“debugger listening on port 5858”的提示

默认的端口是5858,也可以像这样修改:

node --debug-brk[=3000] app.js

然后,启动node-inspector,

[javascript] view plaincopy

node-inspector

(因为之前的nodejs代码在运行,所以命令行窗口没办法输入新的命令,所以启动node-inspector需要新打开一个命令行窗口来输入)

根据提示中的地址,打开

就可以看到,一个模拟Chrome调试窗口的页面,加载了node中的所有代码,具体的调试方式,就和Chrome一样了。

还有一种方式是在代码中需要添加断点的地方,加入

[javascript] view plaincopy

debugger;

以下面这种方式运行

[javascript] view plaincopy

node --debug app.js

这样代码会运行到需要debugger的地方暂停。

webstorm怎么启动nodejs的调试和服务器

1.安装:npm install -g node-inspector

2.启动debug模式(单独命令行):

node-debug (该命令默认8080端口)

node-debug --web-port 1984 (定义任意端口)

3.访问chrome debug devTools

路径如:;port=5858

4.启动gulp或者grunt服务(具有gulp或者grunt任务时)

node --debug-brk $(which grunt) server (这种模式使用在第一次初始化执行的代码)

node --debug $(which grunt) server(这种模式使用在初始化之后监听的node代码)

如何使用DevTools调试Nodejs运行的Javascript

目前,常用的浏览器IE、Chrome、Firefox都有相应的脚本调试功能。我们先来看IE的:

1、在F12开发人员工具中进行调试

打开IE浏览器,按下F12键,就会打开开发人员工具,这是IE内置的开发人员开发工具,方便开发人员对HTML、CSS、Javascript等网页资源进行跟踪调试使用的。

如果你打开的时候没有固定在网页底部,可以点击右上角菜单栏中的按钮来完成。

我们看到在这个工具窗口里面有几个标签页,分别是:HTML、CSS、控制台、脚本、探查器和网络,点开每一个标签,可以执行相应的任务。

在HTML标签窗口中,工具栏中的按钮所执行的操作如下图:

CSS标签是用来查看样式的;控制台显示网页中JS的各种输出信息,包括错误信息、用户日志等;打开脚本标签页,这里面才是我们想要的内容。

我在图中用黄色矩形选中连个控件,左侧的下拉列表用来选择文件,右侧的按钮用来启动调试。当点击启动调试后,调试程序会将窗口最大化,我们在选中的文件中找到需要调试的位置,点击左侧边栏添加断点即可进行调试。

当有程序运行到我们的断点处时,就可以进行调试了:

在这里,我们可以使用快捷键进行操作,常用的快捷键如下:

F9:添加/移除 断点

F10:逐过程,即跳过该语句中的方法、表达式等

F11:逐语句调试,即单步调试,会跳入方法、表达式,进行逐语句的跟踪调试

在执行过程中,如果我们要执行即时的代码,我们就需要在右侧的窗格中输入代码,按回车即可:

如果要执行多行代码,点击运行按钮右侧的双箭头,就会打开多行模式。我就不再截图片了。

这种直接在浏览器中调试的方法同样适用于Google浏览器Chrome和FireFox FireDebug,只不过在细枝末叶上面有些不同罢了,主体的功能都是一样的。

按F12键进入开发者工具,可以查看源代码、样式和js:

点击Scripts按钮,可以打开这个调试窗口,里面包含了网页中脚本文件源码,点击左侧的按钮可以打开选择文件的侧窗口。

2、使用debugger关键字进行调试

这种方法很简单,我们只需要在进行调试的地方加入debugger关键字,然后当浏览器运行到这个关键字的时候,就会中断:

设置以后就可以使用debugger关键字进行调试了;进过这样的设置,我们还可以捕获到意外的错误,进行跟踪调试。

手把手教你使用nodejs编写cli(命令行)

前端日常开发中,会遇见各种各样的cli,比如一行命令帮你打包的webpack,一行命令帮你生成vue项目模板的vue-cli,还有创建react项目的create-react-app等等等等。这些工具极大地方便了我们的日常工作,让计算机自己去干繁琐的工作,而我们,就可以节省出大量的时间用于学习、交流、开发、 逛steam 。

但是有时候一些十分特别的需求,我们是找不到适合的cli工具去做的。比如说,你的项目十分庞大,你给项目添加一个新的路由,要经过 创建目录 - 创建.vue文件 - 更新vue-router的路由列表 这一趟流程,就算快捷键创建目录文件用得再熟悉,也比不过你一行命令来得快,特别是路由目录嵌套深,.vue文件初始化模板复杂的时候。

所以呢,何不为自己项目写一个cli?就专门做这些繁琐的活?

nodejs的cli,本质就是跑node脚本嘛,基本上每位前端er都会:

然后命令行调用

可以做得更逼真一点,我们在package.json里面的scripts字段上添加一下脚本名:

然后命令行调用:

但是,看到这里你肯定会说,人家webpack还有vue-cli都是“有名字”的!什么 vue-cli init app 、 webpack -p 的,多漂亮,看看这个命令行, node index.js ,还 npm run hello ,谁不会啊,丑不拉几的,怕又不是来水文章的哦?差评!!

别急啊各位大人,接下来就说说,如何给这个node脚本起个名字。

姑且,先把这个cli的名字命名为 hello-cli ,就是我们能够在命令行里面,输入 hello-cli ,然后它就打印一句 hello world ,没有 node 也没有 npm ,就是:

这样,你的第一个cli脚本就成功安装了,可以在命令行里面,直接敲你的cli名字,看看结果输出吧。

另外,如果你仅希望你的cli脚本仅在项目里执行,则需要在你项目里面新建一个目录,重复上述的操作,只是在第三步的时候,不要llink到全局里面去,而是使用 npm i -D file:你的脚本cli目录路径 ,把它当成项目的依赖安装到node_modules里面去,如果安装成功,那么在项目的package.json你会看到多了一条依赖,这条依赖的值不是版本号,而是你脚本的路径。然后在node_modules里面会有一个.bin目录,里面就存放着你的可执行文件。

当然,这样安装的cli脚本,必须在项目的package.json的scripts字段上声明脚本命令,然后通过 npm run 的方式执行。

哦?这样子使用的话不就回到最最最开始的时候那种原始的 npm run hello 一样么。

是的,但是有质的区别。使用 node index.js 这种方式调用的话固然简单灵活,但是严重依赖脚本路径,一旦目录结构发生变动,写在scripts的命令就要更改一次;但是使用npm安装之后,本地的cli脚本就被拉到node_modules里面,目录结构变动对其影响不大。其次是不利于分享与发布,如果你想把你的cli脚本发布出去,那么有一个好听响亮的名字,比起在说明文档里面告诉使用者如何找到你的脚本路径再用node执行它,简直好上那么一万倍不是么?

这里也给我们提供了一个cli开发流程思路:

名字有了,输出也有了,看看我们跟那些大名鼎鼎的cli工具,在形式上还差点啥?对了,人家可以支持不同参数选项的,还可以根据输入的不同,产生不同的结果。

这样吧,我们给这个cli加一个功能,既然叫 hello-cli ,那不能只会 hello world 吧,必须要见谁就说 hello 才行:

虽然这个功能很简单,但是至少也是实现了“根据输入的不同,产生不同结果”的效果。

命令行上的参数,可以通过 process 这个变量获取, process 是一个全局对象而不是一个包,不需要通过 require 引入。通过 process 这个对象我们可以拿到当前脚本执行环境等一系列信息,其中就包括命令行的输入情况,这个信息,保存在 process.argv 这个属性里。我们可以打印一下:

打印结果:

可以看出,argv是个数组,前两位是固定的,分别是node程序的路径和脚本存放的位置,从第三位开始才是额外输入的内容。那么实现上面的功能就很简单了,只要读取argv数组的第三位,然后输出出来就可以了。

npm社区中也有一些优秀的命令行参数解析包,比如 yargs ,tj的 commander.js 等等

如果你想使用比较复杂的参数或者命令,建议还是用第三方包比较好,手写解析太耗精力了。

现在,你可以自由自在的写你自己的cli脚本了。

如果你希望写一个项目打完包自动推上git的cli,或者自动从git仓库里面拉取项目启动模板,那么,你需要通过node的 child_process 模块开启子进程,在子进程内调用git命令:

不仅是git命令,包括系统命令、其他cli命令都可以在这里执行。特别是系统命令,使用系统命令对文件目录进行操作,效率比fs高到不知道哪里去了。

社区上也有一些不错的包,比如阮一峰老师推荐的 shelljs

如果你不那么希望你的cli用起来那么“硬核”,希望更人性化一点,比如提供一些友好的输入、提示啊,给你的输出加点颜色区分重点啊,写个简单的进度条啊等等,那么你就需要美化一下你的输出了。

除了颜色这部分,不使用第三方包实现起来非常繁琐复杂,其他的功能,都可以试试自己写。

颜色部分使用了第三方包 colors ,这里就不演示了。

其他都是由nodejs自带的 readline 模块实现的。

绘制的思路跟canvas绘制动画一样,只不过canvas是清除画布,而命令行这里是通过 readline.clearScreenDown 清除输出。

这样,一个简易的,人性化的,带点点进度条动画的命令行cli工具就写好了,你也可以发挥你的想象力,去写一些更有趣的效果出来。

毕竟我们前端,有浏览器我们可以写动画,没了浏览器我们一样可以写动画。

nodejs命令行调试程序(nodejs远程调试)

本文目录一览: 1、如何调试nodejs 2、如何在iis上部署node 调试 3、webstorm怎么启动nodejs的调试和服务器 4、如何使用DevTools调试Nodejs运行的Javascr

2023-12-08
nodejs调试慢(nodejs怎么调试)

本文目录一览: 1、Webstorm 怎么调试 nodejs 会这么慢 2、如何调试nodejs 3、nodejs 模块开发怎么调试 4、怎么调试NodeJS Webstorm 怎么调试 nodejs

2023-12-08
nodejs热调试(nodejs 调试)

本文目录一览: 1、如何使用nodejs搭建开发环境 2、如何在iis上部署node 调试 3、VScode如何逐步运行调试javaScript? 4、nodejs挂在windows IIS运行的,V

2023-12-08
nodejs调试js,nodejs调试 交互式

本文目录一览: 1、如何使用DevTools调试Nodejs运行的Javascript 2、如何调试nodejs 3、如何在SubLime里用 Node.js 调试 JavaScript 程序 如何使

2023-12-08
nodejs串口调试,nodejs开发接口

本文目录一览: 1、web实现串口调试助手 2、如何使用DevTools调试Nodejs运行的Javascript 3、nodejs 获取串口数据 4、webstorm怎么启动nodejs的调试和服务

2023-12-08
node.js调试串口,nodejs编写后端接口

2022-11-23
vscode调试nodejs打断点,vscode断点调试vu

2022-11-23
nodejs触发java程序(java nodejs)

2022-11-12
nodejs编程pdf,nodejs程序

2022-11-23
nodejs进行web程序开发,nodejs做web开发

本文目录一览: 1、nodejs搭建web服务器就是这么简单! 2、如何使用node.js web开发 3、怎么用nodejs搭建web服务器 4、Node.js 适合用来做 web 开发吗 5、we

2023-12-08
让nodejs运行asp(怎么用nodejs运行js代码)

本文目录一览: 1、nodejs怎么运行我的源程序文件 2、.net环境下如何使用node.js? 3、如何使用nodejs搭建开发环境 4、nodejs写的后台程序必要要运行才能让前端调用吗 nod

2023-12-08
nodejs响应c+回调,nodejs调用C

2022-11-23
eclipsejs调试,eclipse逐语句调试

本文目录一览: 1、在Eclipse中怎样调试JSP页面 2、如何用Eclipse调式JavaScript 3、eclipse中web程序怎么调试 4、求教mac下eclipse调试nodejs问题

2023-12-08
nodejs后端工程编译部署(nodejs部署前端项目)

本文目录一览: 1、nodejs后台程序怎么打 2、nodeJS(前后端分离、优势、不足 3、vuecli搭建前端,nodejs怎么搭建后端 4、如何使用nodejs搭建开发环境 5、怎么使用node

2023-12-08
vscodenodejs调试(vscode调试js代码)

本文目录一览: 1、vscode 怎样在不重启的情况下调试nodejs 2、VScode如何逐步运行调试javaScript? 3、[Node] 如何使用 VSCode 调试 child_proces

2023-12-08
nodejs性能php,nodejs性能提升

本文目录一览: 1、php 和nodejs 的各自优势有哪些,如果无基础开始,要学那个好 2、nodejs php哪个好 3、php的性能要比node.js高很多吗? 4、node.js和php哪个简

2023-12-08
nodejs远程linux,nodejs集群部署

本文目录一览: 1、如何在linux上如何安装使用nodejs 2、nodejs 怎么运行linux 3、如何在linux上使用nodejs 如何在linux上如何安装使用nodejs 在linux中

2023-12-08
Java远程调试:如何在开发中调试远程应用程序

2023-05-18
nodejs与c++交互(nodejs和c的关系)

本文目录一览: 1、nodejs的C/C++ addons机制是怎么实现的 2、如何安装node.js windows 3、nodejs如何把c指针转成buffer 4、在nodejs的command

2023-12-08
eclipse远程调试

2023-05-23