小编Vip*_*ley的帖子

为什么"npm install"重写package-lock.json?

我刚刚升级到npm @ 5.我现在有一个package-lock.json文件,其中包含package.json中的所有内容.我希望,当我运行时npm install,将从锁定文件中提取依赖版本以确定应该在我的node_modules目录中安装什么.奇怪的是它实际上最终修改并重写了我的package-lock.json文件.

例如,锁定文件的typescript指定为版本2.1.6.然后,在npm install命令之后,版本更改为2.4.1.这似乎打败了锁定文件的整个目的.

我错过了什么?如何让npm真正尊重我的锁文件?

node.js npm npm-install package-lock.json

536
推荐指数
9
解决办法
16万
查看次数

在AngularJS模块中列出声明的指令/控制器

有没有办法列出为给定角度模块定义的所有指令和控制器?例如,假设我在'main'模块中定义了三个控制器(即angular.module('main').controller('MainCtrl',function(){...}).是否有办法获取列表那三个控制器?

javascript angularjs

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

TypeScript中的循环类型引用

我是打字稿的新手,我想了解如何在两种类型之间设置循环引用.引用不必是完整的代码引用,只需要接口,但接口定义在单独的文件中.例如,假设我有两个接口:Parent和Child.它们是双重关联的,因此父母有一个孩子的集合,每个孩子都有父母的参考(如下所示).如何设置导入或依赖项,以便可以在单独的文件中定义它们?

interface Parent {
  children: Child[]
}

interface Child {
  parent: Parent
}
Run Code Online (Sandbox Code Playgroud)

typescript

16
推荐指数
3
解决办法
7831
查看次数

在docker内部构建时使用ccache

我正在努力将C++项目的构建移动到docker镜像中.该图像将由Jenkins工作构建和推送.在docker之前,我大量使用ccache来加速我在Jenkins上的构建,特别是在构建几乎没有变化的情况下.docker的问题在于构建现在在隔离的环境中运行,因此我无法再从ccache中受益.有没有办法在仍然利用ccache的同时构建一个短暂的容器内部?

ccache docker

12
推荐指数
2
解决办法
2544
查看次数

递归使用时 std::initializer_list 的生命周期

我正在尝试使用它std::initializer_list来定义和输出递归数据结构。在下面的示例中,我正在处理一个列表,其中每个元素可以是整数,也可以是同一类型列表的另一个实例。我使用中间变体类型来执行此操作,该中间变体类型可以是初始值设定项列表或整数。

我不清楚的是,它的生命周期是否std::initializer_list足够长来支持这个用例,或者我是否会遇到内存访问不一致的可能性。代码运行良好,但我担心这不能得到保证。我的希望是,用于创建最顶层列表的std::initializer_list任何中间临时std::initializer_list对象仅在顶层表达式完成后才被清除。

struct wrapped {
    bool has_list;
    int n = 0;
    std::initializer_list<wrapped> lst;

    wrapped(int n_) : has_list(false), n(n_) {}
    wrapped(std::initializer_list<wrapped> lst_) : has_list(true), lst(lst_) {}

    void output() const {
      if (!has_list) {
        std::cout << n << ' ';
      } else {
        std::cout << "[ ";
        for (auto&& x : lst)  x.output();
        std::cout << "] ";
      }
    }
  };

  void call_it(wrapped w) {
    w.output();
    std::cout << std::endl;
  }

  void call_it() {
    call_it({1});                 // …
Run Code Online (Sandbox Code Playgroud)

c++ initializer-list language-lawyer

10
推荐指数
1
解决办法
202
查看次数

是否可以静态反映java方法?

有没有办法静态引用Java中的反射方法.这里有一些示例代码可以让您了解我正在尝试的内容:

public void myFunc(int x) { ... }

public void other() {
    Method m1 = getClass().getMethod("myFunc");  // dynamic
    Method m2 = this.myFunc;                     // static
    Method m3 = MyClass.myFunc;                  // static (alternate)
}
Run Code Online (Sandbox Code Playgroud)

我认识到上面的语法不起作用,但我想知道是否存在某种与此类似的语法实际上是有效的.我想要一种使用反射的方法,而不必担心通过字符串引用方法的固有危险.

有没有办法做到这一点,还是只是一个梦想?

java reflection

9
推荐指数
1
解决办法
963
查看次数

取消getUserMedia请求

我的应用程序中有一个模态对话框,用于getUserMedia显示用户摄像头的视频.这会导致出现"拒绝/允许"栏.假设用户在单击"拒绝"或"允许"之前关闭对话框.即使使用它的元素已经消失,该条仍然存在.

有没有办法通知浏览器它可以隐藏权限请求,即使用户从未与它进行过交互?

javascript html5 getusermedia

9
推荐指数
1
解决办法
1127
查看次数

当类路径中存在类时,如何防止隐式Java编译?

假设我有两个类(Bob和Tom),Bob使用Tom,但Tom不需要Bob.这两个文件都位于相同的目录结构中.

public class Bob {
  public static void main(String[] args) {
    System.out.println(Tom.MESSAGE);
  }
}

public class Tom {
  public static String MESSAGE = "Hello World";
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试以典型的方式编译Bob,我可以将其隐式编译Tom.java,因为它被识别为依赖Bob.java.这很好用.

但现在让我们说我想把Tom放在一个JAR文件中.所以我构建Tom.java并将结果放入JAR文件:libTom.jar.我现在使用指向的类路径进行编译libTom.jar.不幸的是,编译器会看到该Tom.java文件并导致它被编译而不是使用该类libTom.jar.有没有办法让编译器跳过隐式构造,Tom.java如果在类路径中找到类?

我认识到这个例子是相当人为的.请放心,围绕这个问题有一个更复杂,更少做作的用例.谢谢.

java javac classpath

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

CSS 样式表范围为单个 svg 标签

我有一个带有两个或更多 SVG 标签的网页。每个 SVG 标签都包含一个 style 标签块,其中包含给定 SVG 元素的 CSS 样式。不幸的是,这些样式表似乎渗入了全局样式。例如,在第一个 SVG 元素上设置类 'x1' 的样式将导致在第二个 SVG 上设置类 'x1' 的样式。我希望能够为每个特定的 SVG 文档设置不同的样式。这可能吗?

html css svg

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

在node.js中管道流的性能如何?

我有一个用Node.js编写的TCP服务器.当在其服务器套接字上接收到套接字时,该进程将套接字传递给进程池.它要么分叉,要么重新使用先前分叉的进程.然后,它使用ChildProcess.send()将接收到的套接字传递给另一个进程.这样可以完全控制子进程的套接字.

我正在考虑采取不同的方法,但我担心潜在的性能权衡.我想通过stdin或unix域套接字或管道将套接字传递给子进程.在我的特定领域中,这种方法更可取的原因有很多,但我不会将这些问题与这些细节区分开来.

所以我想知道Node.js流上的pipe()方法的性能特征.流的管道是在系统级处理的,还是Node.js必须从一个流中读取每个字节并将其发送到目的地?有一些系统调用(即splice())提供某种级别的文件描述符零拷贝流.Node.js是使用某种类似的机制还是手动?

sockets stream node.js

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