小编Bra*_*ing的帖子

如何为Electron/Atom Shell App设置应用程序图标

如何为Electron应用程序设置应用程序图标?

我正在尝试,BrowserWindow({icon:'path/to/image.png'});但它不起作用.

我是否需要打包应用才能看到效果?

icons electron

134
推荐指数
5
解决办法
8万
查看次数

是否可以重命名AWS Lambda函数?

我在AWS上创建了一些Lambda函数用于测试目的(命名为test_function某些东西),然后在测试后我发现这些函数可以在prod env中使用.

是否可以重命名Lambda函数?如何?或者我应该创建一个新的并复制粘贴源代码?

rename amazon-web-services aws-lambda

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

需要多个团体的 Github PR 批准

我正在使用代码所有者文件来要求 PR 批准才能合并。我想做的是:

  1. 要求所有 PR 至少获得一组代码所有者(工程师)的批准
  2. 要求所有 PR 至少获得一组 QA 的批准

代码所有者文件似乎执行分层操作,其中只有一个组拥有代码,您可以为某些目录创建规则,但这些规则只会覆盖默认代码所有者。

我当前的.github/CODEOWNERS文件如下所示:

* @my-org/engineer-code-owners
Run Code Online (Sandbox Code Playgroud)

有没有办法至少需要两个不同团体的批准?

github pull-request github-codereviews

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

如何随意专注于 react-select 组件?

使用 react-select v2,我想在用户点击某个键时显示并关注 Select 元素。以下是我尝试过的一些事情或我走下的道路。

当我为 Select 元素设置 ref 并尝试调用.focus它时,它说找不到焦点函数。也许我应该以某种方式获取它的子元素,然后将注意力集中在它上面?

似乎没有任何我可以传递的道具会触发焦点功能。有一个openOnFocus但不是一个focusOnOpen。我唯一能想到的就是启用自动对焦,然后以某种方式触发重新安装,但似乎没有一种简单的方法可以做到这一点,而且感觉很糟糕。或者,我可以启用每次按下键时只创建 Select 组件而不是显示它,然后卸载它而不是隐藏它。

我怎样才能在我想要的时候正确地让 react-select 元素获得焦点?

我在我的组件周围使用了一个包装组件。这是我的包装器的渲染方法:

  render() {
    return (
      <Select
        options={this.props.options}
        value={this.state.value}
        ref={this.selectRef}
      />
    );
  }
Run Code Online (Sandbox Code Playgroud)

这就是我调用包装器的地方:

        <Wrapper
          options={this.props.labelOptions}
          ref={this.wrapperRef}
        />
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用其中之一this.dropdownNode.focus()this.dropdownNode.current.focus()两者调用 focus并且都说没有找到 focus 方法。

reactjs react-select

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

VSCode 无法加载插件找不到模块“eslint-plugin-prettier”

我正在安装eslintPrettier在我的项目中,并试图通过 VSCode 获得自动代码格式。当我转到一个 React 文件时,我看到 ESLint 出错了,所以我打开了 ESLint 控制台,我看到:

无法加载在“js/.eslintrc.js”中声明的插件“prettier”:找不到模块“eslint-plugin-prettier”

我相信我已经安装了所有必要的模块,这是我的一个package.json文件:

  "devDependencies": {
    "babel-eslint": "^10.0.3",
    "babel-loader": "^8.0.6",
    "eslint": "^6.8.0",
    "eslint-config-prettier": "^6.10.0",
    "eslint-loader": "^3.0.3",
    "eslint-plugin-prettier": "^3.1.2",
    "eslint-plugin-react": "^7.18.3",
    "prettier": "1.19.1"
  }
Run Code Online (Sandbox Code Playgroud)

我唯一能想到的是这是由我的项目目录结构引起的,如下所示:

/
(some Java stuff out here)
js/
  node_modules/
  package.json
  package-lock.json
  .eslintrc.js
  .prettierrc
Run Code Online (Sandbox Code Playgroud)

作为参考,这是我的.eslintrc.js

module.exports = {
    root: true,
    env: {
      browser: true,
      node: true
    },
    parserOptions: {
      parser: 'babel-eslint',
      ecmaVersion: 2015,
      sourceType: 'module'
    },
    extends: [
      'prettier',
      'plugin:prettier/recommended'
    ],
    plugins: [ …
Run Code Online (Sandbox Code Playgroud)

eslint visual-studio-code prettier eslintrc

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

在 npm 安装单个包后运行脚本(如 postinstall)?

我开始玩 Snowpack。它采用与 Webpack 不同的方法,在安装后立即捆绑单个包。

“问题”是,当我安装一个包时,我必须首先运行npm install --save my-package,然后我必须用npx snowpack. 在积雪文档提到,我可以包括prepare脚本,将snowpack一切都运行后npm install,但这并不适用于单个包,只是一个普通的npm install在我所有的依赖关系package.json。据我所知,npm 文档中提到的所有 npm 钩子都是这种情况。

有什么办法可以在我安装单个软件包时自动运行脚本?我能想到的唯一方法是覆盖安装脚本并向其中添加一些内容。GitHub 或其他地方是否有任何此类示例?

更新:为了澄清起见,我想在npx snowpack每次安装新软件包时运行,--save但最好不带--save-dev或不带--save. 对于任何包,这永远不会有所不同。这将特定于某个回购/项目,而不是我系统上的全局。

这是不够的运行snowpack后,只需运行npm install,你会被钩住得到postinstallrelease。此外,我想确保在我的项目上工作的开发人员可以npm install --save newdep像往常一样使用然后snowpack运行。我不想要求开发人员使用自定义命名脚本。

npm snowpack

6
推荐指数
2
解决办法
3399
查看次数

在 Typescript 中使用 React.forwardRef 而不使用 props

我正在尝试将引用转发到不带任何道具的 Typescript 组件。当我使用React.forwardRef它时,它需要两个参数:props 和 ref。我的组件不使用 props。如何声明我的组件而不出现 linting 或编译错误?

现在我有:

// this says "props is declared but its value is never used"
const MyComponent = React.forwardRef((props = {}, ref: Ref<HTMLDivElement>): JSX.Element => {
  return (
      <div ref={ref}>
        Fun stuff
      </div>
  );
});
Run Code Online (Sandbox Code Playgroud)

如果我为我的 props 声明一个空接口,如下所示:

interface myProps {}
Run Code Online (Sandbox Code Playgroud)

然后我得到了An empty interface is equivalent to '{}',但是当我尝试仅使用{}实际接口进行声明时,我得到:

Don't use `{}` as a type. `{}` actually means "any non-nullish value".
- If you want a type meaning "any …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs eslint tslint

6
推荐指数
2
解决办法
5181
查看次数

剧作家未能填写输入

我正在具有输入元素的 Jenkins 页面上运行 Playwright 脚本。当我尝试使用fill文本输入之一时,它失败并出现以下错误:

\n
(node:3337) UnhandledPromiseRejectionWarning: page.fill: Protocol error (Page.insertText): error in channel "content::page": exception while running method "insertText" in namespace "page": Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsITextInputProcessor.commitCompositionWith] _insertText@chrome://juggler/content/content/PageAgent.js:891:32\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试在DEBUG=pw:api environment启用的情况下运行,但那里的日志没有太大帮助。从正常的控制台日志中我得到以下日志:

\n
waiting for selector "input[name="_.buildNumber"]"\n  selector resolved to visible <input value="" type="text" name="_.buildNumber" class=\xe2\x80\xa6/>\nelementHandle.fill("54")\n  waiting for element to be visible, enabled and editable\n  element is visible, enabled and editable\n
Run Code Online (Sandbox Code Playgroud)\n

因此,该元素似乎存在并且可以编辑,但由于某种原因,剧作家未能成功尝试填充它。我在这里缺少什么?

\n

browser-automation node.js playwright

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

如何在只读 div 中显示闪烁的文本光标/插入符号

如何在 div 中显示闪烁的光标(允许通过键盘选择文本)但保持只读(禁止文本输入)?

我知道我可以设置contentEditable在 div 上启用光标,但用户可以编辑内容。我试过将contentEditable和添加readonly到 div 中,但它似乎readonly只对输入元素有效,如 textarea 或 input。

我也尝试过使用 textarea 并将其设置为 readonly 以便它显示光标但不允许文本输入,如下所示:

<textarea readonly>Go ahead and move the cursor here but don't try to add text</textarea>
Run Code Online (Sandbox Code Playgroud)

这是我正在寻找的功能,但我想用 div 或其他一些非输入元素来做到这一点。我愿意使用 3rd 方库。


注意:此处的“光标”或“插入符号”指的是指示文本选择开始/结束位置的闪烁线。

html javascript css

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

Eslint 规则强制在 Vue 脚本键之间插入空行

是否有 eslint 规则会在文件中脚本标记的导出对象内的键之间强制使用空行.vue?我正在寻找这样的东西被接受:

export default {
  components: {
    Item,
    ItemListNav,
    LazyWrapper
  },

  validate({ params: { feed } }) {
    return validFeeds.includes(feed)
  },

  data() {
    return {
      transition: 'slide-right',
      displayedPage: Number(this.page) || 1
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

与此相反,抛出一个错误:

export default {
  components: {
    Item,
    ItemListNav,
    LazyWrapper
  }, // No empty line here 
  validate({ params: { feed } }) {
    return validFeeds.includes(feed)
  },
  data() {
    return {
      transition: 'slide-right',
      displayedPage: Number(this.page) || 1
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

eslint vue.js vue-component

5
推荐指数
0
解决办法
163
查看次数