小编use*_*818的帖子

ES6模块导入是否执行导入文件中的代码?

js文件中的代码是否在导入期间运行?如果是,那么一次还是每次?例如

// a.js
console.log("A");
const a = "a"; 
export default a;

// b.js
import a from "./a"; // => console logs?

// c.js
import a from "./a"; // => console logs again?
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

如何添加chrome二进制文件以在CI服务器上运行无头镀铬的Karma测试

我喜欢在无头镀铬上运行我的业力单元测试.使用karma-chrome-launcher并将浏览器设置为"ChromeHeadless"可在我的机器上运行.但是在CI服务器上,它失败并显示消息"平台上没有适用于ChromeHeadless浏览器的二进制文件".无法在CI计算机上安装chrome.还有另一种加载chrome二进制文件的方法吗?例如,google puppeteer模块似乎在运行时加载.来自文档:"Puppeteer下载并使用特定版本的Chromium".我怎样才能实现同样的目标?

continuous-integration google-chrome karma-runner google-chrome-headless

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

打字稿从子类调用的构造函数参数推断类型

我有一个类,其中包含一些属性/方法,这些属性/方法返回最初通过构造函数传递的值:

class Base {
  constructor(arg) {
     this.options = arg.options;
  }
}
Run Code Online (Sandbox Code Playgroud)

人们建议这个类使用泛型作为打字稿的等价物:

class Base<T extends {options: any}> {
    options: T["options"];

    constructor(arg: T) {
        this.options = arg.options;
    }    
}

// works fine with instantiation
const inst = new Base({options: {foo: 123}});
inst.options.foo++; // ok
inst.options.bar; // TS Error
Run Code Online (Sandbox Code Playgroud)

现在我有一个子类,它调用超类的构造函数并传递这些选项:

class Sub extends Base { // TS Error
    constructor() {
        super({options: {foo: 123}});
        this.options.foo++; // TS Error
    }
}
Run Code Online (Sandbox Code Playgroud)

Typescript 编译器对此并不满意,并希望通过传递类型来扩展基类。但后来我在超级调用和扩展符号中获得了两次信息。解决我的问题的正确 ts 语法是什么?

打字稿游乐场中的代码)

typescript typescript-generics

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

在 SASS 中,在嵌套结构中使用后选择器与号不起作用

我的标记是让我们说:

<div class="container marker">
  <div class="parent">
    <div class="child">
      content
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的 scss 将是

.container {
  .parent {
    .child {
      .marker & {
        background: red;
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

只要我将子样式与标记类嵌套在父样式中,与号 (&) 规则就不会起作用。但如果我写:

  .parent {
    .child {
      .marker & {
        background: red;
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

一切似乎都很好。为什么?我错过了什么?

CodePen 中的示例:http ://codepen.io/anon/pen/GgRvOV

css sass

5
推荐指数
2
解决办法
5232
查看次数

用于扩展选择(下拉)元素的 CSS 选择器

当下拉菜单打开或关闭时,如何设置不同的样式?是否有任何伪选择器或技巧?当然没有javascript。

<select>
  <option> op1 </option>
  <option> op2 </option>
</select>
Run Code Online (Sandbox Code Playgroud)

并且 :hover 并不真正适合我的需要,因为当下拉菜单展开时,我可以将光标移开。它仍然是开放的,但 :hover 样式不再适用。

css css-selectors

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

如何将索引签名与已知属性混合?

假设接口有一些已知的属性及其类型,并且可以有其他具有未知键和一些其他类型的属性,例如:

interface Foo {
  length: number;
  [key: string]: string;
}

const foo : Foo = {
  length: 1,
  txt: "TXT",
};
Run Code Online (Sandbox Code Playgroud)

TS错误:

'number' 类型的属性 'length' 不能分配给字符串索引类型 'string'。

应该如何键入这样的接口?

typescript index-signature

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

转换为String时,具有负值的字节数组是否会丢失信息?

我有一个像这样的代码,在编码中我将字母转换为字节,然后用一元按位补码翻转它们〜最后将它转换为字符串.

之后,我想用类似的方法解密它.问题是,对于两个相似的输入字符串(但不相同),我得到具有相同哈希码的相同编码字符串.

String(bytes)方法是否会丢失信息,因为字节是负数,或者我可以以某种方式检索它而不更改我的加密部分?

感谢名单

static String encrypt(String s){
        byte[] bytes=s.getBytes();
        byte[] enc=new byte[bytes.length];

        for (int i=0;i<bytes.length;i++){

            enc[i]=(byte) ~bytes[i];
        }


        return new String(enc);
    }

 static String decrypt(String s){
 ...
Run Code Online (Sandbox Code Playgroud)

java string byte

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

iOS Safari:当“mousemove”上有事件监听器时,不会触发“click”事件

在 iOS 中的 safari 中,当元素或其祖先具有事件侦听器时,mousemoveclick上的事件侦听器将被忽略。

<div id="el"></div>

document.getElementById("el").addEventListener("mousemove", _e => console.log("mousemove"));
document.getElementById("el").addEventListener("click",     _e => console.log("click"));
Run Code Online (Sandbox Code Playgroud)

在 ios 上,点击永远不会被记录,在 android (chrome) 或桌面浏览器上,两者都会记录。

stackoverflow 上有几十个关于 ios 点击错误的问题,但我找不到任何关于这个组合的信息。

javascript safari mouseevent

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

如何导入聚合物图标的子集

我在每个类别中使用了几个聚合物的铁图标,并且不希望导入整套.是否有可能(或硫化工具/插件)仅导入我需要的?并有一个较小的HTML文件服务?

polymer custom-element

0
推荐指数
1
解决办法
307
查看次数