小编Jak*_*ake的帖子

如何将下一个/图像组件设置为 100% 高度

我有一个 Next.js 应用程序,我需要一个图像来填充其容器的整个高度,同时根据其纵横比自动确定其宽度。

我尝试了以下方法:

<Image
    src="/deco.svg"
    alt=""
    layout="fill"
/>
Run Code Online (Sandbox Code Playgroud)

此代码段编译成功,但在前端,我看到以下错误:

错误:带有 src "/deco.svg" 的图像必须使用 "width" 和 "height" 属性或 "unsized" 属性。

这让我困惑,因为根据该文档,在这些属性使用的时候需要layout="fill"

javascript reactjs next.js nextjs-image

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

如何防止 npm 解析生产安装上的 devDependency

我正在 monorepo 中构建一个微服务应用程序,其中包含一堆微服务和一个 commons 包。这个 commons 包从未发布到 npm。(包通过纱线工作区进行管理)

使用parcel,commons包被捆绑到生产代码中,所以我不需要在运行时安装它。

每个微服务都在自己的 Docker 容器中运行。因此,当我构建 docker 容器时,理想情况下,我想忽略这个“commons”依赖项并安装所有其他依赖项。AFAIK,执行此操作的唯一方法是将“commons”包放在 devDependency 中。

但是,似乎即使我仅将其添加到 devDependency 并运行npm i --only=production, npm 仍然尝试解析包并仍然抛出ETARGET错误。

有没有办法完全忽略 devDependency?我唯一的另一个想法是编写一个脚本,在运行 npm install 之前从 package.json 中删除 devDependencies 字段,但我想先在这里询问以确保我没有遗漏任何内容。

node.js npm

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

将 `&amp;T` 转换为新类型 `&amp;N`

我有一个类型TT实现Clone但没有Copy)和一个声明为的新类型struct N(T)。给定一个引用&T,我如何将其包装到一个&N而不克隆该引用&T以首先拥有它T

rust

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

更改 contenteditable div 中的innerHTML 时保留光标位置

我正在构建一个对代码进行语法突出显示的编辑器。我当前的方法是仅获取编辑器中的文本(contenteditable 设置为 true 的 div)并检查字符串中的正则表达式匹配。然后,我用元素替换匹配项<span>,并对这些 span 元素应用一些样式。然后,我使用该属性将分隔线中的完整文本替换为新文本.innerHTML。这工作得很好,但我必须向后输入,因为插入文本后,我的光标被重置到位置零。我尝试记录插入之前的值selectionStart,然后执行

element.selectionStart = oldSelectionStart + 1;
Run Code Online (Sandbox Code Playgroud)

但没有成功。我认为这是因为 chrome 的渲染管道,其中 JavaScript 在渲染页面之前运行,并且光标在渲染时重置,而不是在设置时重置...任何人都可以帮忙吗?如何设法将光标保持在原来的位置?

html javascript dom

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

在 web3-react 中访问 ContractFactory

我正在使用web3-react@^5.0.5我的 React 应用程序与 web3 进行交互。我可以很好地连接到元掩码。

我将库设置为ethers.js并连接到metmask。连接工作正常,但几乎没有 ethers.js 的方法。例如,useWeb3Context().library.ContractFactory不存在。

这是正常的吗?

代码

根组件:

  ...
  return (
    <Web3Provider connectors={connectors} libraryName="ethers.js">
      ...
    </Web3Provider>
  );
  ...
Run Code Online (Sandbox Code Playgroud)

connectors目的:

  ...
  return (
    <Web3Provider connectors={connectors} libraryName="ethers.js">
      ...
    </Web3Provider>
  );
  ...
Run Code Online (Sandbox Code Playgroud)

子组件:

const { InjectedConnector } = Connectors;

// Initially support Ropsten and Mainnet
const MetaMask = new InjectedConnector({ supportedNetworks: [1, 3] });

export const connectors = { MetaMask };
Run Code Online (Sandbox Code Playgroud)

reactjs ethereum ethers.js web3-react

6
推荐指数
0
解决办法
285
查看次数