Questions tagged «node.js»

Node.js是基于事件的非阻塞异步I / O运行时,它使用Google的V8 JavaScript引擎和libuv库。它用于开发大量使用在客户端和服务器端都运行JavaScript的功能的应用程序,因此受益于代码的可重用性和缺少上下文切换。

25
在Node.js中,如何从其他文件中“包含”函数?
假设我有一个名为app.js的文件。很简单: var express = require('express'); var app = express.createServer(); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.get('/', function(req, res){ res.render('index', {locals: { title: 'NowJS + Express Example' }}); }); app.listen(8080); 如果我在“ tools.js”中有一个函数,该怎么办。如何导入它们以在apps.js中使用? 或者...我应该把“工具”变成一个模块,然后需要它吗?<<似乎很难,我宁愿对tools.js文件进行基本导入。


10
使用Node.js require与ES6导入/导出
在我正在合作的项目中,关于可以使用哪种模块系统,我们有两个选择: 导入使用的模块require,并使用导出module.exports和exports.foo。 使用ES6导入模块import,并使用ES6导出export 一项使用另一项有什么性能上的好处?如果要在Node模块上使用ES6模块,还有其他什么应该知道的吗?

10
如何安装NPM软件包的先前确切版本?
我使用nvm下载节点v0.4.10,并安装了npm以与该版本的节点一起使用。 我正在尝试使用安装Express npm install express -g 我得到一个错误,表示需要节点版本> = 0.5.0。 好吧,这很奇怪,因为我遵循此处使用节点v0.4.10 的node + express + mongodb教程的说明,因此我假设express可用于节点v0.4.10。如果我的假设是正确的,我如何告诉npm获取适用于我的设置的版本?
914 node.js  npm 


6
如何在node.js中进行Base64编码?
node.js是否具有内置的base64编码? 我之所以这样问,是因为final()from crypto只能输出十六进制,二进制或ascii数据。例如: var cipher = crypto.createCipheriv('des-ede3-cbc', encryption_key, iv); var ciph = cipher.update(plaintext, 'utf8', 'hex'); ciph += cipher.final('hex'); var decipher = crypto.createDecipheriv('des-ede3-cbc', encryption_key, iv); var txt = decipher.update(ciph, 'hex', 'utf8'); txt += decipher.final('utf8'); 根据文档,update()可以输出base64编码的数据。但是,final()不支持base64。我尝试过,它会破裂。 如果我这样做: var ciph = cipher.update(plaintext, 'utf8', 'base64'); ciph += cipher.final('hex'); 那我应该用什么解密呢?十六进制还是base64? 因此,我正在寻找一个函数来对加密的十六进制输出进行base64编码。
839 node.js  encoding  base64 

15
将命令行参数发送到npm脚本
scripts我package.json当前的部分看起来像这样: "scripts": { "start": "node ./script.js server" } ...这意味着我可以运行npm start来启动服务器。到目前为止,一切都很好。 但是,我希望能够运行类似的东西npm start 8080并将参数传递给script.js(例如npm start 8080=> node ./script.js server 8080)。这可能吗?
816 javascript  node.js  npm 

11
npm WARN package.json:无存储库字段
我使用以下命令安装了Express.js: sudo npm install -g express 我收到以下警告: npm WARN package.json range-parser@0.0.4 No repository field. npm WARN package.json fresh@0.1.0 No repository field. npm WARN package.json methods@0.0.1 No repository field. npm WARN package.json methods@0.0.1 No readme data. npm WARN package.json cookie-signature@1.0.1 No repository field. npm WARN package.json send@0.1.0 No repository field. npm …
808 node.js  express  npm 

19
如何检索POST查询参数?
这是我的简单表格: <form id="loginformA" action="userlogin" method="post"> <div> <label for="email">Email: </label> <input type="text" id="email" name="email"></input> </div> <input type="submit" value="Submit"></input> </form> 这是我的Express.js /Node.js代码: app.post('/userlogin', function(sReq, sRes){ var email = sReq.query.email.; } 我试过sReq.query.email或sReq.query['email']或sReq.params['email'],等等。它们都不起作用。他们都回来了undefined。 当我更改为Get呼叫时,它可以工作,所以..有什么想法吗?

10
Node.js最佳实践异常处理
几天前我才开始尝试使用node.js。我已经意识到,只要程序中有未处理的异常,Node就会终止。这与我所见过的普通服务器容器不同,在普通服务器容器中,当发生未处理的异常时,只有工作线程死亡,并且容器仍能够接收请求。这引起了一些问题: 为process.on('uncaughtException')防范它的唯一有效途径? process.on('uncaughtException')在异步过程执行期间是否还会捕获未处理的异常? 是否存在已经构建的模块(例如发送电子邮件或写入文件),在未捕获的异常的情况下可以利用该模块? 我将不胜感激任何向我展示在node.js中处理未捕获异常的常见最佳实践的指针/文章


30
如何更新Node.js?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 Наэтотвопросестьответына 堆栈溢出нарусском:Какобновить的NodeJS? 我做了以下更新我的npm: npm update npm -g 但是我不知道如何更新Node.js。有什么建议么?(我正在使用Node.js 0.4.1,并想更新到Node.js 0.6.1。)


30
错误:将标头发送到客户端后无法设置标头
我对Node.js相当陌生,遇到了一些问题。 我正在使用Node.js 4.10和Express 2.4.3。 当我尝试访问http://127.0.0.1:8888/auth/facebook时,我将重定向到http://127.0.0.1:8888/auth/facebook_callback。 然后,我收到以下错误: Error: Can't render headers after they are sent to the client. at ServerResponse.<anonymous> (http.js:573:11) at ServerResponse._renderHeaders (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect/lib/patch.js:64:25) at ServerResponse.writeHead (http.js:813:20) at /home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/auth.strategies/facebook.js:28:15 at /home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/index.js:113:13 at next (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/strategyExecutor.js:45:39) at [object Object].pass (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/authExecutionScope.js:32:3) at [object Object].halt (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/authExecutionScope.js:29:8) at [object Object].redirect (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/authExecutionScope.js:16:8) at [object Object].<anonymous> (/home/eugene/public_html/all_things_node/projects/fb2/node_modules/connect-auth/lib/auth.strategies/facebook.js:77:15) Error: …

24
在Mac OS上将Node.js升级到最新版本
当前,我在Mac OS X 10.7.4上使用Node.js v0.6.16。现在,我想将其升级到最新的Node.js v0.8.1。但是从nodejs.org下载并安装了最新的软件包文件后,我发现当我在终端中键入“ node -v”时,系统仍在使用v0.6.16而不是v0.8.1。我错过了任何步骤吗?或者,在安装最新版本之前,我应该彻底卸载旧版本吗? 顺便说一句,我知道nvm可以帮助管理nodejs包 https://github.com/creationix/nvm/ 有没有不使用它就可以升级Node.js的方法? 我已经用谷歌搜索了这个问题,但是在我看来,对于最新的Node.js,这个问题没有很明确的答案。
721 macos  node.js  upgrade 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.