小编tim*_*der的帖子

是否有npm版本预发布标识符?

有一个非常方便的npm version命令.除了喜欢争论major,minor而且patch它接受类似的参数prerelease,prepatch等等.
它说,该命令按照工作文档semver.inc的功能.

这些pre命令我有一个问题.

说我目前正在版本v1.0.0.
如果我运行npm version prerelease它会将版本提升到v1.0.1-0.

是否可以根据https://github.com/npm/node-semver#prerelease-identifiers为预发布标识符提供额外的agrument ?

我希望有类似的东西npm version prerelease alpha会碰到版本,v1.0.1-alpha.0但这不起作用.

versioning npm semantic-versioning npm-cli

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

为什么min-content不能使用自动填充或自动填充?

基本上,我不明白为什么这样做:

.grid {
  display: grid;
  grid-template-columns: repeat(4, min-content);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, min-content);
}
Run Code Online (Sandbox Code Playgroud)

我真的希望使后一种功能成为可能.还有其他方法可以使它工作吗?

css css3 fluid-layout css-grid css-multicolumn-layout

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

如何在Google Maps API搜索结果中显示自定义地点?

所以谷歌地图有一个基本的例子,带有搜索框:https://developers.google.com/maps/documentation/javascript/examples/places-searchbox

我想要完成一些非常简单的事情.我想硬编码一些位置(可能是一些简单的阵列/物体及其纬度和经度)然后当你搜索地点时,例如"华盛顿",那么这些位置会显示(带标记),如果有的话他们确实在华盛顿内部.如果我搜索"非洲"并且我的一些地点在非洲境内,我希望它们能够显示出来.如果我搜索一个没有我的位置的地方,那么它们应该只是不显示.

我也找到了这个 - https://developers.google.com/places/documentation/actions#adding_a_place.但我不确定这是否应该用于我的目的(或者我应该这样做).如果是,我不确定如何使用它 - 我在哪里发送建议的JSON数据?

提前致谢!

javascript google-maps search-box google-maps-api-3 google-maps-markers

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

如何进行 git 预提交代码检查?

第一个问题......甚至有可能用git来完成这个吗?:)

我想要的是这个:

有时,为了自己的调试目的,我将代码中的一个变量切换为true( localMode = true;)。但这不应该被提交。我应该只提交变量设置为false. 当然,有时我会忘记进行此更改。如果我即将提交“错误”代码,git 是否有可能以某种方式停止或警告我?

UPD:
感谢您的帮助!我最终得到了以下 shell 脚本:

#!/bin/bash
git diff --cached --name-only | while read FILE; do
if [[ $(echo "$FILE" | grep -E "^.+main\-controller\.js$") ]]; then
    content=$(<"$FILE")
    if [[ $(echo "$content" | grep -E "rootScope\.localMode = true") ]]; then   
        echo -e "\e[1;31m\tCommit contains localMode set to true.\e[0m" >&2
        exit 1
    fi
fi
done
Run Code Online (Sandbox Code Playgroud)

git pre-commit pre-commit-hook

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

具有 css 自定义属性的条件样式

我喜欢使用css 自定义属性,但我经常发现我希望我能做到这一点。

我希望能够根据 css 自定义属性的值有条件地应用一些样式。这是一些伪代码:

.something {
  border: var(--is-dark-theme) ? 1px solid : none;
}
Run Code Online (Sandbox Code Playgroud)

我知道自定义属性不能像这样工作。但是可能还有其他一些我不知道的方法可以帮助我达到类似的结果?

或者也许有一些规范提案可以在未来实现?

css specifications theming css-variables

7
推荐指数
3
解决办法
4220
查看次数

表达式语法的回退

我有一个在两个不同事件上运行的 github 工作流程:pull_request 和手动。它看起来像这样:

\n
on:\n  pull_request:\n    branches: [master]\n  workflow_dispatch: {}\n\nenv:\n  API_URL: https://example.com/\n
Run Code Online (Sandbox Code Playgroud)\n

API_URL我想要的是当我手动触发工作流程时能够设置替代方案。但我希望工作流程在自动运行时也能以相同的方式运行。\n因此,首先,我将 \xe2\x80\x9c inputs\xe2\x80\x9d 添加到工作流程_dispatch 中:

\n
on:\n  pull_request:\n    branches: [master]\n  workflow_dispatch:\n    inputs:\n      API_URL:\n        description:\n        required: true\n        default: https://example.com\n\nenv:\n  API_URL: ${{ github.event.API_URL }}\n
Run Code Online (Sandbox Code Playgroud)\n

据我了解,这样API_URL只有在手动运行工作流程时才会设置环境变量。但是当它自动运行时,xe2x80x99s没有github.event.API_URL值。

\n

在我看来,这里需要一个条件回退。\n这样的东西会起作用吗?

\n
env:\n  API_URL: ${{ github.event.API_URL || \'https://example.com/\' }}\n
Run Code Online (Sandbox Code Playgroud)\n

但从文档来看,||运算符将计算为1or 0

\n

有没有好的办法解决这个问题呢?谢谢!

\n

continuous-integration yaml github-actions

7
推荐指数
2
解决办法
4288
查看次数

css 自定义属性是否存在 null 或 undefined 或“falsy”值?

我想创建一个组件并公开某些可能被父元素覆盖的属性。

这是一个例子。假设我正在创建一个按钮,它有自己的颜色,但如果有--button-bg-color定义,则允许更改其背景颜色:

.my-button {
  --bg-color: blue;

  /* lots of other css... */

  /**
    * here I assume that there might be a --button-bg-color defined,
    * but I have a fallback to my own --bg-color variable
    */
  background-color: var(--button-bg-color, var(--bg-color));
}
Run Code Online (Sandbox Code Playgroud)

上面代码的问题在于该--button-bg-color变量在样式的深处被引用。

我希望我能做的是在顶部某处声明我可能想要使用这个变量。这会告诉我该组件希望被覆盖。

也许是这样的?

.my-button {
  --button-bg-color: undefined; /* is there something like undefined? */
  --bg-color: blue;

  /* the rest of the code is the same */
}
Run Code Online (Sandbox Code Playgroud)

css css-variables

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

是否可以覆盖本机 fetch api 以使用所需的 Promise 库而不是本机浏览器 Promise?

这就是我的意思。

如果浏览器本机支持fetch api(例如,Chrome),则它使用本机浏览器Promise

如果我使用另一个 Promise 库(例如bluebird), nativefetch仍然没有使用它——而是使用 nativePromise实现。

有没有办法覆盖它?

问题示例:

window.Promise = function () { return null; };


fetch('/api')
.then(function (res) {
    console.log('fetch result!', res); // still works because it uses native Promise
});
Run Code Online (Sandbox Code Playgroud)

为什么我需要那个,你可能想知道?我希望利用全球排斥事件,其bluebird库支持和原生的承诺不具备的。

javascript error-handling onerror es6-promise fetch-api

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

如何使用react渲染<template />标记?

有时您可能需要从您的反应应用程序渲染Web组件.

Web组件通常使用特殊<template> ... </template>标记.但是,如果我尝试使用这样的反应来渲染这样的标记:

render() {
  return (
    <template>
      <div>some content</div>
    </template>
  )
}
Run Code Online (Sandbox Code Playgroud)

然后我的网络组件无法正常工作.

jsx documentfragment web-component reactjs

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

用于localhost开发的Google API KEY引用通配符

Google建议指定允许使用浏览器密钥的域.

在此输入图像描述

虽然这绝对是一个很棒的功能,但我希望在我开发网站时能够继续工作localhost.

我想一个确定的方法是在开发环境中根本不指定API_KEY(谷歌地图在没有它的情况下在本地工作).

这仍然不方便.

我想知道确切地指定密钥在本地工作的通配符的正确方法是什么.
我之前已经通过定义一大堆通配符来实现这一点,希望其中一个可以工作.而且,其中一些确实如此,因为它最终起作用.

由于谷歌表示转介更改需要大约5分钟才能生效,因此我从未有耐心找出哪张卡确实完成了这项工作.
谷歌没有提供任何关于哪些卡匹配哪些域的视觉效果.

这里有人说,API_KEY对于工作localhost/在默认情况下.但当然我的本地服务器在某个端口以外的地方:80.在这种情况下,该人建议使用以下内容指定通配符port:http://localhost:1234.

这是非常不受欢迎的.如果我改变我正在工作的端口,我肯定不会记得有些人API_KEY依赖它.

那么......为任何端口指定localhost的引用的正确方法是什么

localhost:*
localhost:*/*
*localhost:*
http://localhost:*
localhost\:*

......有人知道吗?


对于某些人来说可能是显而易见的另一件事......但我不确定.通配符是否*.example.com/*授权类型的URL http://example.com/some/long/path/

google-maps wildcard google-api api-key

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

突变方法是否需要在顶层?

所有文档和教程通常都会显示如下所示的简单突变示例:

extend type Mutation {
  edit(postId: String): String
}
Run Code Online (Sandbox Code Playgroud)

但是这种edit方法必须在所有实体中都是唯一的,在我看来,这似乎不是一种非常健壮的写东西方式。我想描述与我们描述查询类似的突变,如下所示:

type PostMutation {
  edit(postId: String): String
}

extend type Mutation {
  post: PostMutation
}
Run Code Online (Sandbox Code Playgroud)

这似乎是一个有效的模式(它可以编译,我可以看到它反映在生成的 graph-i-ql 文档中)。但是我找不到让解析器使用此架构的方法。

这是 GraphQL 支持的案例吗?

apollo graphql apollo-server

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

如何在 dexie 中读取当前的数据库版本号?

Dexie 中,当您需要升级架构或表架构时,您可以使用db.version(X)method。

然后,库将检查用户的浏览器是否缓存了以前的版本并执行适当的升级步骤。

但是我找不到如何手动读取当前用户的数据库版本

因此,例如,如果编写此故意破坏代码:

db.version(1).stores(/* my schema */) // 删除这段代码
db.version(2).stores(/* my schema */)

库会礼貌地抛出一个错误,指出用户当前拥有的版本(显然,1)没有架构。

但是有没有办法读取用户的确切版本?

它可能对调试有用!

javascript caching indexeddb dexie

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