javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

node.js-使用Mysql检索最后插入的ID

美好的一天,

我愿意检索Mysql中新插入的行的id值。

我知道有mysqli_insert_id函数,但是:

  1. 我无法指定表格
  2. 如果同时进行查询,则可能有检索错误ID的风险。
  3. 我正在使用node.js MySQL

我不想冒着查询最高ID的风险,因为查询很多,这可能会给我一个错误的查询...

(我的ID列是自动递增的)

trans by 2020-02-02T22:09:38Z

node.js-Express.js在连接中获取http方法

我正在构建一个注册表单(本地护照作为身份验证,表单作为表单助手)。

因为注册只知道GET和POST,所以我想在一个函数中进行整个处理。

换句话说,我正在寻找类似的东西:

exports.register = function(req, res){
    if (req.isPost) {
       // do form handling
    }
    res.render('user/registration.html.swig', { form: form.toHTML() });
};
trans by 2020-02-02T21:49:56Z

node.js-来自AWS Lambda的MongoDB连接

我正在寻找使用连接到MongoDB数据库的AWS Lambda / API网关创建RESTful API的方法。 我已经读到与MongoDB的连接相对昂贵,因此,最佳做法是在建立连接后保留连接以供重用,而不是为每个新查询建立新连接。

对于普通应用程序来说,这非常简单,因为您可以在启动过程中建立连接,并在应用程序生存期内重用它。 但是,由于Lambda设计为无状态,因此保持这种联系似乎不太直接。

因此,我想知道解决此数据库连接问题的最佳方法是什么? 每次调用Lambda函数时,我是否被迫建立新连接,或者是否有一种方法可以将这些连接池/缓存起来以进行更有效的查询?

谢谢。

trans by 2020-01-31T16:48:43Z

node.js-NodeJS写base64图像-fi

我的NodeJS服务器收到一个图片,编码为base64。

data:image/jpeg;base64,/9j/4QCcRXhpZgAASUkqAAgAAAA ... CiiigD//Z

收到的数据应另存为jpg。 因此,我使用了Buffer和FileSystemWriter:

var imageBuffer = new Buffer(data, 'base64'); //console = <Buffer 75 ab 5a 8a ...
fs.writeFile("test.jpg", imageBuffer, function(err) { //... });

fs.writeFile不会调用错误。 jpeg文件已保存,但无法打开。图像查看器说:

File is damaged or too big.

原始文件大6kb,新文件大7kb。

trans by 2020-01-31T13:35:31Z

javascript-node.js:加密需要解密的数据吗?

我们正在使用bcrypt来存储不需要解密的密码和数据。

应该采取什么措施来保护其他这样做的用户信息。 对于此示例,假设我们不希望用户的真实姓名采用纯文本格式,以防有人获取数据库。

这是一些敏感数据,但还需要不时调用并以纯文本显示。 有没有简单的方法可以做到这一点?

trans by 2020-01-31T13:15:24Z

非阻塞-如何将node.js模块作为node.js程序的子进程执行?

这是我的问题。 我作为node.js模块实现了一个小的脚本,该脚本需要进行大量计算。 因此,如果我键入“ node myModule.js”,它将计算一秒钟,然后返回一个值。现在,我想从主Node.JS程序中使用该模块。 我可以将所有计算都放在“ doSomeCalculation”函数中,然后执行:

var myModule = require("./myModule");
myModule.doSomeCalculation();

但这将成为障碍,因此很糟糕。 我想以一种非阻塞的方式使用它,例如DB本地调用。 因此,我尝试使用child_process.spawn和exec,如下所示:

var spawn = require("child_process").spawn;
var ext = spawn("node ./myModule.js", function(err, stdout, stderr) { /* whatevs */ });
ext.on("exit", function() { console.log("calculation over!"); });

但是,当然,它不起作用。 我试图在myModule中使用EventEmitter,发出“ calculationDone”事件,并尝试在上面的示例中将关联的侦听器添加到“ ext”变量上。 仍然不起作用。

至于叉子,它们并不是我真正想做的。 Forks将需要将与计算相关的代码放入主程序中,进行派生,在父级执行任何操作时在子级中进行计算,然后如何返回结果?

所以这是我的问题:将计算放在Node文件中时,我可以使用子进程进行一些非阻塞计算吗? 我应该在Python脚本中进行繁重的计算吗? 在这两种情况下,如何将参数传递给子进程(例如图像)?

trans by 2020-01-30T15:25:27Z

javascript-异步构造

我如何最好地处理以下情况?

我有一个构造函数,需要一些时间才能完成。

var Element = function Element(name){
   this.name = name;
   this.nucleus = {};

   this.load_nucleus(name); // This might take a second.
}

var oxygen = new Element('oxygen');
console.log(oxygen.nucleus); // Returns {}, because load_nucleus hasn't finished.

我看到三个选项,每个选项似乎都不正常。

一,向构造函数添加回调。

var Element = function Element(name, fn){
   this.name = name;
   this.nucleus = {};

   this.load_nucleus(name, function(){
      fn(); // Now continue.
   });
}

Element.prototype.load_nucleus(name, fn){
   fs.readFile(name+'.json', function(err, data) {
      this.nucleus = JSON.parse(data); 
      fn();
   });
}

var oxygen = new Element('oxygen', function(){  
   console.log(oxygen.nucleus);
});

二,使用EventEmitter发出“已加载”事件。

var Element = function Element(name){
   this.name = name;
   this.nucleus = {};

   this.load_nucleus(name); // This might take a second.
}

Element.prototype.load_nucleus(name){
   var self = this;
   fs.readFile(name+'.json', function(err, data) {
      self.nucleus = JSON.parse(data); 
      self.emit('loaded');
   });
}

util.inherits(Element, events.EventEmitter);

var oxygen = new Element('oxygen');
oxygen.once('loaded', function(){
   console.log(this.nucleus);
});

或三,阻止构造函数。

var Element = function Element(name){
   this.name = name;
   this.nucleus = {};

   this.load_nucleus(name); // This might take a second.
}

Element.prototype.load_nucleus(name, fn){
   this.nucleus = JSON.parse(fs.readFileSync(name+'.json'));
}

var oxygen = new Element('oxygen');
console.log(oxygen.nucleus)

但是我以前从未见过这样的事情。

我还有什么其他选择?

trans by 2020-01-30T04:33:15Z

node.js-表达日志记录响应主体

标题应该很容易解释。

出于调试目的,我想表达为每个服务请求打印响应代码和正文。 打印响应代码很容易,但是打印响应主体比较棘手,因为似乎响应主体不容易用作属性。

以下内容不起作用:

var express = require('express');
var app = express();

// define custom logging format
express.logger.format('detailed', function (token, req, res) {                                    
    return req.method + ': ' + req.path + ' -> ' + res.statusCode + ': ' + res.body + '\n';
});  

// register logging middleware and use custom logging format
app.use(express.logger('detailed'));

// setup routes
app.get(..... omitted ...);

// start server
app.listen(8080);

当然,我可以轻松地在发出请求的客户端上打印响应,但是我也希望在服务器端进行打印。

PS:如果有帮助,我的所有回复都是json,但希望有一个可以与一般回复配合使用的解决方案。

trans by 2020-01-30T02:48:56Z

使用get参数的Node.js / Express路由

假设我有这样的路线:

app.get('/documents/format/type', function (req, res) {
   var format = req.params.format,
       type = req.params.type;
});

所以如果我提出要求

http://localhost:3000/documents/json/mini

在我的格式和类型变量中,变量分别为“ json”和“ mini”,但是如果我发出类似

http://localhost:3000/documents/mini/json

不。 所以我的问题是:如何才能以不同的顺序获得相同的变量?

trans by 2020-01-30T00:05:54Z

node.js-命令“ npm install -g <something>”中的“ -g”标志做什么?

我正在跟踪使用npm install时使用-g标志的示例,但我无法通过帮助系统弄清楚-g标志在做什么。

trans by 2020-01-29T21:52:16Z

node.js-NodeJS w / Express错误:无法获取/

这就是我所拥有的,使用NodeJS执行readFile时,文件名“ default.htm”实际上存在并加载。

var express = require('express');
var app = express();

app.use(express.static(__dirname + '/default.htm'));

app.listen(process.env.PORT);

错误(在浏览器中):

Cannot GET /
trans by 2020-01-29T16:38:36Z

如何通过cron作业执行Node.js脚本?

很简单,我有一个节点脚本,每个月要执行一次。

30 6 1 * * node /home/steve/example/script.js

但这是行不通的,大概是因为路径或运行命令的外壳程序所致。 我尝试了以下通过cron执行节点的方法(已通过-v测试):

steve@atom:~$ node -v
v0.4.2

steve@atom:~$ sh node -v
sh: Can't open node

steve@atom:~$ bash node -v
/usr/local/bin/node: /usr/local/bin/node: cannot execute binary file

steve@atom:~$ /usr/local/bin/node -v
v0.4.2

steve@atom:~$ sh /usr/local/bin/node -v
/usr/local/bin/node: 1: Syntax error: "(" unexpected

steve@atom:~$ bash /usr/local/bin/node -v
/usr/local/bin/node: /usr/local/bin/node: cannot execute binary file

我没办法尝试了,有什么建议吗?

trans by 2020-01-29T15:09:08Z

javascript-将诺言转换为蓝鸟

我找到了一个使用promise的现有库,但是它不使用bluebird。 库函数并不具有bluebird的所有其他额外功能,例如Promise.promisifyPromise.resolve。如何将“正常”或“非bluebird”的诺言转换为bluebird所具有的所有额外功能?

我尝试将现有的承诺包装在Promise.promisifyPromise.resolve中,但似乎都没有用。

trans by 2020-01-29T05:31:49Z

node.js-RabbitMQ与Socket.io?

我正在实时进行实时Web应用程序开发。

浏览器用户应该能够通过node.js服务器相互通信。 其中一位用户编写了一条消息,其他所有用户都将收到该消息。

我不太了解RabbitMQ的工作方式。 但是从快速阅读来看,它似乎可以处理消息的发布/订阅。

用户(在浏览器中)发布某些内容,而订户(在其他浏览器中)得到该消息。 这不是Socket.io正在使用websockets吗?

这是我的问题:

  1. 它们每个都有哪些优缺点?
  2. Socket.io可以代替RabbitMQ吗?
  3. 在Socket.io无法满足要求的Web应用程序中,是否需要使用RabbitMQ?
trans by 2020-01-29T04:06:17Z

javascript-如何按顺序执行异步Mocha测试(NodeJS)?

这个问题与NodeJS的Mocha测试框架有关。

默认行为似乎是开始所有测试,然后在传入异步异步回调时对其进行处理。

在运行异步测试时,我想在调用之前的异步部分之后运行每个测试。

我怎样才能做到这一点?

trans by 2020-01-29T03:49:48Z

javascript-在ES6中使用分号

这个问题已经在这里有了答案:

  • []引起JavaScript错误之前没有分号                                     4个答案

我的印象是分号在ES6中已过时。 但是,我今天遇到了这个问题:

不起作用:

let i = 0

[0, 1, 2, 3, 4, 5, 6].forEach(item => console.log(item))

作品:

let i = 0;

[0, 1, 2, 3, 4, 5, 6].forEach(item => console.log(item))

为什么在这里需要用分号?我应该何时使用?

trans by 2020-01-29T03:44:40Z

node.js-MongoDB:输出“ id”而不是“ _id”

我正在使用猫鼬(节点),输出id而不是_id的最佳方法是什么?

trans by 2020-01-28T19:18:36Z

node.js-无法将Laravel 5.4“ cross-env”识别为内部或外部命令

我正在尝试为Laravel Mix运行npm run dev,但出现此错误:

> @ dev D:\projects\ptcs
> cross-env NODE_ENV=development webpack --progress --hide-modules --
config=node_modules/laravel-mix/setup/webpack.config.js

'cross-env' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ dev: `cross-env NODE_ENV=development webpack --progress --hide-
modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ dev script.

我将node.js更新为6.11.0,将npm更新为5.2.0,但这没有帮助。 我在Windows 7上运行Homestead。

trans by 2020-01-28T18:11:39Z

javascript-Node.js-异步模块加载

是否可以异步加载Node.js模块?

这是标准代码:

var foo = require("./foo.js"); // waiting for I/O
foo.bar();

但是我想写这样的东西:

require("./foo.js", function(foo) {
    foo.bar();
});
// doing something else while the hard drive is crunching...

有没有办法做到这一点? 还是有一个很好的理由为什么不支持require中的回调?

trans by 2020-01-28T14:07:47Z

Node.js主机名/ IP与证书的altname不匹配

我有代码:

var r = require('request');
r({
  method: 'POST',
  url: 'https://api.dropbox.com'},
  function() { console.log(arguments)  } )

当我在带有Node 0.9.4的桌面上运行它时,我在控制台中得到了它:

{ '0': [Error: Hostname/IP doesn't match certificate's altnames] }

当我在带有节点0.6.12的Netbook上运行它时,它们都可以正常工作而没有错误(302响应-我认为是正确的)。

有问题的Node.js主机名/ IP与证书的替代名不匹配,Rojuinex写道:“是的,浏览器问题...对不起。” “浏览器问题”是什么意思?

UPD。 在节点v0.8上回滚后,此问题已解决

trans by 2020-01-28T05:54:45Z

上一页 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 下一页 共174页