小编Rig*_*eek的帖子

如何从TypeScript函数返回类?

我正在使用带有依赖注入库的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从工厂函数返回一个类?

javascript dependency-injection angularjs typescript

12
推荐指数
4
解决办法
9173
查看次数

尝试NPM发布以前未发布的版本时出错

虽然在饥饿期间(伟大的计划)在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)

node.js npm

7
推荐指数
1
解决办法
6095
查看次数

我如何使用Firebug告诉我什么是JavaScript被解雇?

我正在尝试对一些JavaScript进行逆向工程,而且令人讨厌的是,JS并不是非常清晰或有充分记录.我有一系列事件被触发(使用JQuery),我需要找到函数所在的位置.

有没有办法配置Firebug(或Opera/IE控制台 - 而不是Chrome/Safari),以便我可以看到单击按钮时会触发哪些事件?

谢谢

javascript jquery firebug

6
推荐指数
1
解决办法
1736
查看次数

Yeoman HTML接线示例

我已经看到各种帖子表明Yeoman的布线将由HTML Wiring包处理,并且Yeoman本身的方法现在已被弃用.

接线上根本没有文档.有没有人知道它是如何工作的或者我可以使用它的例子?

谢谢

javascript node.js yeoman yeoman-generator

6
推荐指数
0
解决办法
192
查看次数

如何将NodeJS调试器隧道传输到Vagrant框?

我正在尝试设置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进行配置吗?

我想通过这样做,所以我的团队可以将他们的调试器连接到零配置.

谢谢

ssh node.js ssh-tunnel vagrant

5
推荐指数
1
解决办法
437
查看次数

如何对 NestJS 中的控制器应用防护进行单元测试?

我在 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)

node.js typescript jestjs nestjs

5
推荐指数
3
解决办法
3288
查看次数

PHP执行多次

我的机器上有一个标准的LAMP设置.今天早上,它开始多次执行脚本.

例如,在代码中:

log_message('error', "here be a message ".rand()); exit;
Run Code Online (Sandbox Code Playgroud)

我的日志文件正在记录具有不同随机数的两条日志消息,尽管脚本中有退出.我以前没有这个,有点难过.谁能给我任何关于为什么会发生这种情况的线索?

php

4
推荐指数
1
解决办法
856
查看次数

我可以将 Mongoose 连接到分片的 MongoDB 实例吗?

使用 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 实例吗?

谢谢

mongoose mongodb node.js

3
推荐指数
1
解决办法
4026
查看次数

我可以在node-mongodb-native驱动程序中执行原始MongoDB查询吗?

仅供参考 - 我知道如何使用MongoDB驱动程序,并且知道这不是在Web应用程序中使用它的方式,但这不适用于Web应用程序.我的目标是在NodeJS中模拟MongoDB shell

我正在编写一个DB GUI,并希望执行一个原始的MongoDB查询,例如db.tableName.find({ col: 'value' }).我可以使用本机MongoDB驱动程序实现此目的吗?我正在使用v2.2,这是最新版本.

如果没有,我怎样才能在NodeJS中实现这一目标?

mongodb node.js

2
推荐指数
1
解决办法
1496
查看次数

Terraform可以从remote_exec命令设置变量吗?

我正在尝试使用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)

谢谢

amazon-web-services docker terraform docker-swarm

2
推荐指数
1
解决办法
1242
查看次数