Inversify:与类名称的上下文注入

我正在尝试使用inversify将注入器注入到不同的类中。 我想将目标类名称传递给logging器对其进行分类。 问题是我无法从创build绑定的位置访问目标名称: container.bind<log4js.Logger>(Types.Logger).toDynamicValue(context => { let className = context….?; // Finds class name return log4js.getLogger(className); }); 除了在接收logging器的对象中创buildlogging器之后设置logging器之外,还有其他方法吗? 谢谢! 安托万

从mongoose集合中删除最新创build的文档

我目前正在使用,但它删除所有具有相同名称的文件。 Reservation.remove({name:req.body.name}, function(err) { if (err) throw err; });

为什么我的中间件不检查电子邮件是否已经存在?

我使用passportJS来validation人员。 我最近意识到的问题是,用户可以注册多个帐户。 我创build了一个中间件来检查电子邮件是否已经被使用,但不知何故仍然通过testing。 var User = require('../models/users'); var authMethods = {}; authMethods.isInUse = function(req,res,next){ User.findOne({"email" : req.body.email}, (err,user) => { if(user){ req.flash('error',"This mail is already in use."); res.redirect('/register'); }else { return next(); } }); } module.exports = authMethods; 在我的身份validation页面中,我正在调用路由中的中间件以满足条件。 router.post('/register',authMethods.isInUse ,multipart(),function(req, res) { var image = fs.readFileSync(req.files.image.path); var profilePic = {data : image, contentType : […]

使用节点和Azure WebApp自定义静态错误页面

我正在使用Azure WebApps构build一个静态页面和节点网站的混合体,我想要一个自定义的404页面,但我不能使其工作。 大多数网站是静态的,但我有一些需要服务器代码的路线。 我的web.config如下所示: <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <remove name="X-Powered-By"/> <add name="x-dns-prefetch-control" value="on"/> </customHeaders> </httpProtocol> <handlers> <add name="iisnode" path="src/server/index.js" verb="*" modules="iisnode"/> </handlers> <rewrite> <rules> <rule name="static"> <match url="(?!dynamicroute).*$" ignoreCase="true"/> <action type="Rewrite" url="dist{REQUEST_URI}"/> </rule> <rule name="dynamic"> <match url="(?:dynamicroute)(.*)$" ignoreCase="true"/> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> </conditions> <action type="Rewrite" url="src/server/index.js"/> </rule> </rules> </rewrite> <!– Make […]

angular度快速启动失败的业务testing失败

官方的Angular quickstart在Windows 10的全新安装之后无法运行业绩testing。我input了以下4个命令,而没有其他的东西: C:\projects\temp>git clone https://github.com/angular/quickstart.git C:\projects\temp>cd C:\projects\temp\quickstart C:\projects\temp\quickstart>npm install …install logs omitted for brevity C:\projects\temp\quickstart>npm start …app launched successfully, but logs omitted for brevity C:\projects\temp\quickstart>npm test …Error shown in complete logs below 最终命令后得到的完整错误信息如下: C:\projects\temp\quickstart>npm test > angular-quickstart@1.0.0 pretest C:\projects\temp\quickstart > npm run build > angular-quickstart@1.0.0 build C:\projects\temp\quickstart > tsc -p src/ > angular-quickstart@1.0.0 test […]

如何安全地执行操作,然后从.txt文件中asynchronous插入250,000多个字,而不会导致堆栈溢出?

我正在尝试做的事情是用单词的.txt文件读取,在换行符处将它们分开,然后对构造数组中的每个单词执行对该单词(与我正在使用的Word模式匹配)的操作确定每个单词的字母数,如“单词(0 A,0 B,1 W,1 O,1 R,1 D,OZ等)”,然后将每个单词插入到数据库中。 下面是数据库条目(models / words.js)的Word“形状”的mongoose模式 var restful = require('node-restful'); var mongoose = restful.mongoose; // MongoDB Schema var wordSchema = new mongoose.Schema({ code: String, word: String, lettersCount: { 'a': Number, 'b': Number, 'c': Number, 'd': Number, 'e': Number, 'f': Number, 'g': Number, 'h': Number, 'i': Number, 'j': Number, 'k': Number, 'l': […]

当没有命令调用Commander.js显示帮助

我正在使用commander.js来编写一个简单的node.js程序与API交互。 所有的呼叫都需要使用子命令。 例如: apicommand get 被称为如下: program .version('1.0.0') .command('get [accountId]') .description('retrieves account info for the specified account') .option('-v, –verbose', 'display extended logging information') .action(getAccount); 我现在要做的是在没有任何子命令的情况下调用apicommand时显示默认消息。 就像在没有子命令的情况下调用git一样: MacBook-Air:Desktop username$ git usage: git [–version] [–help] [-C <path>] [-c name=value] [–exec-path[=<path>]] [–html-path] [–man-path] [–info-path] [-p | –paginate | –no-pager] [–no-replace-objects] [–bare] [–git-dir=<path>] [–work-tree=<path>] [–namespace=<name>] <command> [<args>] These are […]

为什么我从Docker节点应用程序获取ECONNREFUSED连接到localhost MySQL?

我有一个本地运行的MySQL服务器..它不在一个容器内。 我的应用程序将打到RDS,所以没有意义走这条路线。 我的应用程序能够打RDS没有问题,作为一个testing。 但显然我想为本地发展打一些本地的东西。 从我的terminal,我可以做mysql –user=root –password=password mydb成功。 因为我没有得到一个超时错误,从我的容器我可以ping 127.0.0.1:3306没有问题。 我也使用控制台,看到我肯定传递正确的信息,更新从RDS的值到本地运行的MySQL。

推迟Node.js的HTTP请求,如果类似的工作已经完成

我正在做一个服务,从远程主机检索一张照片,并在将其传递给客户端之前进行一些处理。 它在本地caching检索的源照片,以避免以后再次检索。 但是,如果连续有多个请求,则源图像将不会保存在本地,而是执行不必要的检索。 什么是一个很好的方法来推迟传入的请求,直到源图像被caching,只要它已经被检索? 目前,我正在使用来自入站请求stream的Node.jsstream,通过caching和转换逻辑传递它,并将其传递给出站stream。

如何从没有Express的节点服务器提供图像?

我在Node v6.10.2上工作。 我想用一个简单的NodeJS程序来提供静态元素。 当我运行下面提到的代码,并转到http:// localhost:3000 / ,我得到这个。 图片在这里没有得到检索。 但是当我去http:// localhost:3000 / img / logo.jpg ,我得到的图像。 我该如何解决这个问题? 这是服务器代码 var http = require('http'); var fs = require('fs'); function serveStaticFile(res, path, contentType, responseCode) { if(!responseCode) responseCode = 200; // __dirname will resolve to the directory the executing script resides in. // So if your script resides in /home/sites/app.js, […]