小编Ker*_*ney的帖子

为什么“instanceof”运算符在传递给库的实例上返回 false?(不涉及继承)

我正在用 TS 建立一个图书馆。该库使用该ssh2库作为依赖项。

我正在尝试创建一个函数,该函数可以接受ssh2配置对象或已经存在的Client实例来执行命令(这是一个简化的情况):

import { Client, ConnectConfig } from 'ssh2';

export function runCommand(params: Client | ConnectConfig) {
  if(params instanceof Client) {
    // do something
  } else {
    // create our own client
    // do something
  }
}
Run Code Online (Sandbox Code Playgroud)

当我构建这个库并像这样调用函数时:

import { Client, ConnectConfig } from 'ssh2';

export function runCommand(params: Client | ConnectConfig) {
  if(params instanceof Client) {
    // do something
  } else {
    // create our own client
    // do something
  }
}
Run Code Online (Sandbox Code Playgroud)

我的函数中的检查将由于某种原因 …

javascript class instanceof node.js typescript

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

使用electron-builder时如何修改app.asar的文件夹结构?

我正在使用 create-react-app (CRA) 创建和构建我的前端代码。我的(简化的)文件夹结构如下所示:

package.json
node_modules/
public/
  ??? electron.js
  ??? index.html
src/
Run Code Online (Sandbox Code Playgroud)

我的 npm 脚本:

"build": {
  "appId": "com.somedomain.app",
},
"scripts": {
    "react-start": "react-scripts start",
    "react-build": "react-scripts build",
    "react-test": "react-scripts test --env=jsdom",
    "react-eject": "react-scripts eject",
    "electron-build": "electron-builder",
    "release": "yarn react-build && electron-builder --publish=always",
    "build": "yarn react-build && yarn electron-build"
}
Run Code Online (Sandbox Code Playgroud)

当我运行“build”时,项目被构建并且有一个build包含所有内容的文件夹,然后电子使用它来创建app.asar文件。当我提取内容时,我看到以下结构:

package.json
node_modules/
build/
  ??? electron.js
  ??? index.html
Run Code Online (Sandbox Code Playgroud)

电子制造商如何知道build从我的项目文件夹中取出文件夹?我尝试通过使用"build"我的 package.json的字段来解决它,如下所示:

"build": {
  "appId": "com.somedomain.app",
  "files": "app"
},
Run Code Online (Sandbox Code Playgroud)

并将我的build文件夹重命名为,app但随后出现以下错误: …

javascript node.js electron asar electron-builder

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

SVG“圆”元素半径属性“r”在 Firefox 中不会转换,但在 Chrome 中效果很好

我试图在单击事件上使 SVG 圆圈变大,它在 Chrome 52 中工作得很好(没有在旧版本上尝试过),但在 Firefox 中,CSS 转换没有效果。有没有办法让 Firefox 在没有太多 JavaScript 的情况下表现得与 Chrome 相同?

HTML:

<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <circle cx="50%" cy="50%" r="15"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

CSS:

html, body {
        height: 100%;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    circle {
        -webkit-transition: ease 0.7s all;
        -moz-transition: ease 0.7s all;
        -ms-transition: ease 0.7s all;
        -o-transition: ease 0.7s all;
        transition: ease 0.7s all;
    }
Run Code Online (Sandbox Code Playgroud)

JS:

$(document).ready(function() {
    $("body").click(function() {
        if($("circle").attr("r") == 15) {
            $("circle").attr("r", function() {
                if ($(window).height() > $(window).width()) {
                    return …
Run Code Online (Sandbox Code Playgroud)

html javascript css svg

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