Tag: node.js

node.js process.memoryUsage()的返回值代表什么?

从官方文档( 来源 ): process.memoryUsage() 返回描述以字节为单位测量的节点进程的内存使用情况的对象。 var util = require('util'); console.log(util.inspect(process.memoryUsage())); 这将产生: { rss: 4935680, heapTotal: 1826816, heapUsed: 650472 } heapTotal和heapUsed是指V8的内存使用情况。 确切地说, rss , heapTotal和heapUsed代表什么? 这可能看起来像一个微不足道的问题,但我一直在寻找,到目前为止我还找不到明确的答案。

如何在Windows上使用深度node_modules结构部署Node.js应用程序?

我遇到了一个奇怪的问题 – 显然有些Node.js模块具有如此深的文件夹层次结构 ,Windows复制命令(或PowerShell的Copy-Item就是我们实际使用的)在path上遇到臭名昭着的“path too long”错误超过250个字符长。 例如,这是一个Node模块可以创build的文件夹层次结构: node_modules\nodemailer\node_modules\simplesmtp\node_modules\ xoauth2\node_modules\request\node_modules\form-data\node_modules\ combined-stream\node_modules\delayed-stream\… 这看起来很疯狂,但是对于Node模块却是一个现实。 我们需要在部署过程中使用复制粘贴(我们没有使用像Heroku这样的“聪明的”目标平台,其中Git部署将成为一个选项),这是Windows的严重限制。 是不是有一个npm命令或什么东西,可以压缩node_modules文件夹,或者只包括运行时实际需要的东西? (节点模块通常包含test文件夹等,我们不需要部署。)任何其他的想法如何解决它? 不幸的是,不使用Windows是一种select:)

如何卸载使用npm链接安装的软件包?

当在软件包的目录中使用sudo npm link安装节点软件包时,如何在完成开发后卸载软件包? npm link将软件包作为系统全局包位置('/ usr / local / lib`)中的符号链接来安装。 这使您可以在开发包的同时testing包,而无需一遍又一遍地重新安装。 我需要运行哪个npm命令来删除链接?

nodejs如何从标准input读取按键

是否有可能侦听正在运行的nodejs脚本中的传入键击? 如果我使用process.openStdin()并侦听其'data'事件,那么input会被缓冲直到下一个换行符,如下所示: // stdin_test.js var stdin = process.openStdin(); stdin.on('data', function(chunk) { console.log("Got chunk: " + chunk); }); 运行这个,我得到: $ node stdin_test.js <– type '1' <– type '2' <– hit enter Got chunk: 12 我想要看的是: $ node stdin_test.js <– type '1' (without hitting enter yet) Got chunk: 1 我正在寻找一个nodejs相当于,例如, rubygetc 这可能吗?

寻找方法来复制文件,并根据父目录进行重命名

对于每个模块,我都有一些需要复制到构build目录的文件,并且正在寻找一种方法来最小化重复的代码: gulp.src('./client/src/modules/signup/index.js') .pipe(gulp.dest('./build/public/js/signup')); gulp.src('./client/src/modules/admin/index.js') .pipe(gulp.dest('./build/public/js/admin')); 像这样的东西: gulp.src('./client/src/modules/(.*)/index.js') .pipe(gulp.dest('./build/public/js/$1')); 很显然,上述不起作用,所以有没有办法做到这一点,或者一个已经这样做的NPM? 谢谢

Express 4.x中“./bin/www”是做什么的?

我刚刚开始在Node.js应用程序中学习Express 4.0,并发现它生成了./bin/www文件,其中只有应用程序服务器和端口设置被写入,其他所有其他类似中间件和路由的文件都被定义./app.js文件。 但是,我不确定这是./bin/www 。 我已经使用了Express 3.x,并且我一直在相同的./app.js文件中定义服务器和端口设置以及路由和中间件,并且使用node app.js启动了我的节点应用程序。 那么使用./bin/www什么./bin/www ? 它是否仅将服务器和端口定义与其他人分开? 现在,当我使用express生成器创build包时, package.json包含以下定义: "scripts": { "start": "node ./bin/www" } 但是,我不知道是否应该使用node ./bin/www或npm start启动我的应用npm start 。 我应该运行哪个命令来启动我的应用程序? 而且,当我将应用程序部署到heroku时,我应该在Procfile文件中写什么? web: node app.js够了吗?

nodejs护照本地策略设置的综合教程?

有没有一个演练教程设置一个简单的应用程序与护照本地策略authentication?

node.js和io.js有什么区别?

io.js和node.js有什么区别? 最近的io.js是从node.js派生出来的,而且是由一些和node.js相同的人做的。 导致这个分支的关键差异是什么?对于整个node.js社区意味着什么?

为什么gulp.src不喜欢被传递给文件的完整path数组?

我试图通过gulp.src我想要处理的文件数组。 这是arrays。 ['bower_components/jquery/jquery.js', 'bower_components/superscrollorama/js/greensock/TweenMax.min.js', 'bower_components/superscrollorama/jquery.superscrollorama.js' ] 我发现,虽然gulp.src似乎并不喜欢,第三个元素并没有达到最终的目的地。 我发现一切正常,当我介绍这样的通配符: ['bower_components/**/jquery.js', 'bower_components/**/js/greensock/TweenMax.min.js', 'bower_components/**/jquery.superscrollorama.js' ] 但为什么? 与globbing方式有什么关系? 我GOOGLE了,但无法find。 也许这不是globbing的预期目的,但对我来说,它应该以这种方式工作是没有意义的。 任何人都可以点亮一下吗?

npm从Git安装在一个特定的版本

假设我已经写了一个Node.js的模块,我想保持私有。 我知道我可以(应该)添加该行: "private": "true" 到package.json文件,我也知道我可以使用文件系统path或链接到git存储库(包括GitHub)来npm install此模块。 我也知道,我可以把这样的文件系统path或链接到一个git仓库到package.json ,所以dependencies部分可能看起来有点像这样: "dependencies": { "myprivatemodule": "git@github.com:…" } 我现在想要的不是链接到最新版本,而是一个特定的版本。 我知道的唯一可能性是使用其ID来链接到特定的提交。 但是这比使用0.3.1这样的版本号可读性差,维护性差。 所以我的问题是:是否可以指定这样一个版本号,并使npmsearch包含此版本的最新提交的git存储库? 如果不是的话,你如何解决你的项目中的这个问题? 你住的提交ID还是有更好的解决办法吗?