nodejs 模块开发怎么调试

nodejs 模块开发怎么调试,第1张

1 基于Nodejs内建的调试器

Nodejs提供了一个内建调试器来帮助开发者调试应用程序。想要开启调试器我们需要在代码中加入debugger标签,当Nodejs执行到debugger标签时会自动暂停(debugger标签相当于在代码中开启一个断点)。代码如下:

var path = urlparse(requrl)pathname;

debugger;

reswriteHead(200, {'Content-Type': 'text/plain'});

执行命令:node debug examplejs 就可以进入调试模式。

在debug模式下,可以使用内建命令如repl去评估变量和表达式的值(如2所示)。我们也可以通过help命令来获取完整的调试命令列表。

Commands: run (r), cont (c), next (n), step (s), out (o), backtrace (bt), setBreakpoint (sb), clearBreakpoint (cb),

watch, unwatch, watchers, repl, restart, kill, list, scripts, breakpoints, version

2 基于V8插件的调试器

Nodejs是基于google V8的引擎上构建的,Google为Eclipse提供了一个对应的调试插件。关于如何在Eclipse中安装和调试Nodejs程序就不再重复描述了。唯一要注意的是在默认情况下V8引擎支持的调试模式是本地模式。如果想要开启远程调试的话,我们需要修改Nodejs中的V8源文件:/deps/v8/src/platform-posixcc

addrsin_family = AF_INET;

addrsin_addrs_addr = htonl(INADDR_LOOPBACK); --> INADDR_ANY

addrsin_port = htons(port);

然后重新编译Nodejs。

提示:

用插件来调试nodejs程序,你有时候会遇到什么connect refuse, get version failed等等错误。那么请注意你使用的ip的地址, 一般下127001的回环地址是都工作的。如果你使用真实的ip地址,请检查防火墙设置。

3 基于Chrome浏览器的调试器

既然我们可以通过V8的调试插件来调试,那是否也可以借用Chrome浏览器的JavaScript调试器来调试呢?node-inspector模块提供了这样一种可能。我们需要先通过npm来安装node-inspector

npm install -g node-inspector // -g 导入安装路径到环境变量

node-inspector是通过websocket方式来转向debug输入输出的。因此,我们在调试前要先启动node-inspector来监听Nodejs的debug调试端口。

默认情况下node-inspector的端口是8080,可以通过参数--web-port=[port]来设置端口。在启动node-inpspector之后,我们可以通过--debug或--debug-brk来启动nodejs程序。通过在浏览器输入>

1安装NodeJS

1编译环境

源代码编译器,通常 Unix/Linux平台都自带了C++的编译器(GCC/G++)。如果没有,请通过当前发行版的软件包安装工具安装make,g++这些编译工具。

Debian/Ubuntu下的工具是apt-get

RedHat/centOS下通过yum命令

Mac OS X下你可能需要安装xcode来获得编译器

2网络加密

其次,如果你计划在Nodejs中启用网络加密,OpenSSL的加密库也是必须的。该加密库是libssl-dev,可以通过apt-get install libssl-dev等命令安装。

3手动编译

wget >

有的。1、VisualStudioCode,是一个免费的轻量级编辑器和IDE,可用于Nodejs和ASP开发。

2、Brackets,对Nodejs有很好的支持。

3、Atom。

4、SublimeText等等。

首先,需要安装nodejs,这个可以去官网下载,目前我本地安装的v012版本。

安装完成后可以通过命令行测试安装是否成功,输入:node -v,应该会显示当前安装node版本号。

本文中用到的模块,都是nodejs核心模块,不需要从外部下载,如果有需要,可以使用以下命令安装:npm install xxx。

开始

下一步,新建js文件,可以命名为serverjs,代码如下:

var >

// 比如使用命令 node server debug,意思就是debug文件夹与serverjs文件同级

// 且你想以debug文件夹启动web服务

>[linux运维] 1、下载最新nodejs二进制源码安装包(29MB),V821更新于2017年7月20日 

wget -c >

wget是一个Linux下载文件的工具,centos自带。

wget -c 是断点续传下载方式,后面的URL就是提供下载文件的地址

默认获取的文件地址在/root目录下,命令pwd显示当前目录

  2、安装必要的编译软件 吖米yum install gcc gcc-c++ yum = Yellow dog Updater, Modified。改良黄狗更新器,centos自带智能包管理器。 中途询问,输入y:在线下载安装 d:只下载不安装 N:不下载不安装

Is this ok [y/d/N] :y

  3、解压源码tar -zxvf node-v821targz当前目录/root/就会多一个node-v821的文件夹-z:透过gzip的支持进行压缩/解压缩:此时文件名最好为targz-x:解压缩的功能-v:在压缩/解压缩的过程中,将正在处理文件名显示出来

f filename:-f后面要立刻接被处理的文件名

  4、编译node源码包 1)进入到node源码包解压目录 cd node-v821指定NodeJS安装位置/configure --prefix=/usr/local/node 不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。 执行安装文件,足足等了40多分钟

make && make install

  4、添加环境变量  > 创建并打开新文件 不存在nodesh文件 [root@localhost node-v813]# vim /etc/profiled/nodesh > 输入node安装位置的bin目录所在位置 export PATH=$PATH:/usr/local/node/binESC 输入:wq 提示: 命令输入错了vim-bash: rt: command not found-bash: vim: command not found[解决]i 那么如何安装 vim 呢输入rpm -qa|grep vim 命令, 如果 vim 已经正确安装,会返回下面的三行代码:root@server1 [~]# rpm -qa|grep vimvim-enhanced-70109-7el5vim-minimal-70109-7el5vim-common-70109-7el5 如果少了其中的某一条,比如 vim-enhanced 的,就用命令 yum -y install vim-enhanced 来安装:yum -y install vim-enhanced 如果上面的三条一条都没有返回, 可以直接用 yum -y install vim 命令yum -y install vim  使用su root source /etc/profiled/nodesh = /etc/profiled/nodesh [不间断运行nodejs服务]>

一、编写Nodejs原生扩展

Nodejs是一个强大的平台,理想状态下一切都都可以用javascript写成。然而,你可能还会用到许多遗留的库和系统,这样的话使用c++编写NodeJS扩展会是一个不错的注意。

以下所有例子的源代码可在node扩展示例中找到 。

编写Nodejs C + +扩展很大程度上就像是写V8的扩展; Nodejs增加了一些接口,但大部分时间你都是在使原始的V8数据类型和方法,为了理解以下的代码,你必须首先阅读V8引擎嵌入指南。

Javascript版本的Hello World

在讲解C++版本的例子之前,先让我们来看看在Nodejs中用Javascript编写的等价模块是什么样子。这是一个最简单的Hello World,也不是通过>

下面来安装gulp-sass插件编译sass文件,

1、ap p下命令行输入:

$ npm install gulp-sass --save-dev

此时package json文件会自动更新依赖包!

以上就是关于nodejs 模块开发怎么调试全部的内容,包括:nodejs 模块开发怎么调试、运行在服务端的Node.js代码需要编译吗、如何使用nodejs搭建开发环境等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9866844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存