我正在使用带有依赖注入库的TypeScript,它与Angular 1非常相似 - 基本上:使用依赖项作为参数注册工厂.
这就是我在ES6中注册课程的方法
export let factory = () => {
return class Foo {}
};
Run Code Online (Sandbox Code Playgroud)
如果我在TypeScript中写相同:
export let factory = () => {
return class Foo {}
};
Run Code Online (Sandbox Code Playgroud)
它无法编译错误
错误TS4025:导出变量'factory'已经或正在使用私有名称'Foo'.
有没有办法允许TypeScript从工厂函数返回一个类?
虽然在饥饿期间(伟大的计划)在NPM模块上工作,但我碰到了错误的版本."没问题"我想."我以前做过,并使用过来解决了npm unpublish <module>@<version>." 我做了这个并尝试重新发布但它抛出错误"无法替换以前发布的版本"尽管这个版本不存在.
我决定去核.我的软件包只有10个版本,所以我决定npm unpublish <module> --force从v0.0.1重新开始.我仍然得到"无法取代以前发布的版本".
救命!!!我该如何解决这个问题,以便我可以把我的包裹拿回来?
错误日志如下
npm publish v0.0.1.tar.gz
npm http PUT https://registry.npmjs.org/datautils
npm http 403 https://registry.npmjs.org/datautils
npm http PUT https://registry.npmjs.org/datautils
npm http 403 https://registry.npmjs.org/datautils
npm ERR! publish Failed PUT 403
npm ERR! Error: forbidden Cannot replace previously published version: 0.0.1: datautils
npm ERR! at RegClient.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:275:14)
npm ERR! at Request.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/request.js:123:22)
npm ERR! at Request.EventEmitter.emit (events.js:98:17)
npm ERR! at Request.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/request.js:893:14)
npm ERR! at Request.EventEmitter.emit (events.js:117:20)
npm ERR! at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/request.js:844:12) …Run Code Online (Sandbox Code Playgroud) 我正在尝试对一些JavaScript进行逆向工程,而且令人讨厌的是,JS并不是非常清晰或有充分记录.我有一系列事件被触发(使用JQuery),我需要找到函数所在的位置.
有没有办法配置Firebug(或Opera/IE控制台 - 而不是Chrome/Safari),以便我可以看到单击按钮时会触发哪些事件?
谢谢
我正在尝试设置WebStorm NodeJS调试器以连接到Vagrant盒上托管的NodeJS项目.我遇到了一些困难.
如果我以传统方式(即通过终端)隧道进入服务器,它一切正常,我可以通过WebStorm等进行调试.
ssh -L 5858:127.0.0.1:5858 -N vagrant@10.20.30.40
Run Code Online (Sandbox Code Playgroud)
一旦我开始工作,我将以下内容放入我的Vagrantfile:
config.vm.network :forwarded_port, guest: 5858, host: 5858
Run Code Online (Sandbox Code Playgroud)
与以前不同,这仍然适用于Vagrant盒子,但不适用于我的本地机器.当我犯了它时,我收到以下错误:
curl: (56) Recv failure: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
有没有人对我做错了什么有任何想法?这甚至可以通过Vagrantfile进行配置吗?
我想通过这样做,所以我的团队可以将他们的调试器连接到零配置.
谢谢
我在 NestJS 中配置了一个控制器,我想检查是否设置了适当的保护 - 有没有人有如何完成的示例?
这个(删节的)示例作为一个应用程序可以正常工作,所以我只是在测试指导之后。
您会注意到在用户测试中有我正在调用的测试Reflect.getMetadata。我在做这样的事情 - 当我在__guards__元数据上检查它时,这是一个函数,我正在努力模拟它,以便我可以检查它AuthGuard('jwt')是否在设置时应用。
用户控制器.ts
@Controller('/api/user')
export class UserController {
@UseGuards(AuthGuard('jwt'))
@Get()
user(@Request() req) {
return req.user;
}
}
Run Code Online (Sandbox Code Playgroud)
User.controller.spec.ts
describe('User Controller', () => {
// beforeEach setup as per the cli generator
describe('#user', () => {
beforeEach(() => {
// This is how I'm checking the @Get() decorator is applied correctly - I'm after something for __guards__
expect(Reflect.getMetadata('path', controller.user)).toBe('/');
expect(Reflect.getMetadata('method', controller.user)).toBe(RequestMethod.GET);
});
it('should return the user', () => …Run Code Online (Sandbox Code Playgroud) 我的机器上有一个标准的LAMP设置.今天早上,它开始多次执行脚本.
例如,在代码中:
log_message('error', "here be a message ".rand()); exit;
Run Code Online (Sandbox Code Playgroud)
我的日志文件正在记录具有不同随机数的两条日志消息,尽管脚本中有退出.我以前没有这个,有点难过.谁能给我任何关于为什么会发生这种情况的线索?
使用 Mongoose@4.2.6,我想连接到分片的 MongoDB 实例。
const url = "mongodb://user:pass@localhost:27022,localhost:27023/db";
// This never resolves
Mongoose.connect(url, (err, db) => {
...
});
Run Code Online (Sandbox Code Playgroud)
当我使用本机 MongoDB@2.0.48 库(与 Mongoose 使用的版本相同)建立连接时,它可以工作。
const url = "mongodb://user:pass@localhost:27022,localhost:27023/db";
// This resolves a connection
MongoClient.connect(url, (err, db) => {
...
});
Run Code Online (Sandbox Code Playgroud)
当我在 Mongoose 中建立连接时,连接回调永远不会解决。
我必须配置 Mongoose 中的某些内容以允许我连接到分片 Mongo 实例吗?
谢谢
仅供参考 - 我知道如何使用MongoDB驱动程序,并且知道这不是在Web应用程序中使用它的方式,但这不适用于Web应用程序.我的目标是在NodeJS中模拟MongoDB shell
我正在编写一个DB GUI,并希望执行一个原始的MongoDB查询,例如db.tableName.find({ col: 'value' }).我可以使用本机MongoDB驱动程序实现此目的吗?我正在使用v2.2,这是最新版本.
如果没有,我怎样才能在NodeJS中实现这一目标?
我正在尝试使用Terraform在AWS中构建Docker Swarm集群.我已经成功启动了一个Swarm管理器,但我正在尝试找出如何最好地将join键传递给worker(将在管理器之后创建).
我想要一些运行docker swarm join-token worker -q可以设置为Terraform变量的命令的方法.这样,工作人员可以使用remote_exec命令docker swarm join ${var.swarm_token} ${aws_instance.swarm-manager.private_ip}
我怎样才能做到这一点?
我的配置如下:
resource "aws_instance" "swarm-manager" {
ami = "${var.manager_ami}"
instance_type = "${var.manager_instance}"
tags = {
Name = "swarm-manager${count.index + 1}"
}
provisioner "remote-exec" {
inline = [
"sleep 30",
"docker swarm init --advertise-addr ${aws_instance.swarm-manager.private_ip}"
"docker swarm join-token worker -q" // This is the value I want to store as a variable/output/etc
]
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
node.js ×6
javascript ×3
mongodb ×2
typescript ×2
angularjs ×1
docker ×1
docker-swarm ×1
firebug ×1
jestjs ×1
jquery ×1
mongoose ×1
nestjs ×1
npm ×1
php ×1
ssh ×1
ssh-tunnel ×1
terraform ×1
vagrant ×1
yeoman ×1