小编oli*_*ren的帖子

git重命名后R {number}中的数字是什么意思?

我在下面做了提交.它基本上显示了一些静态html被重命名和移动的文件.

commit 8449e207d529779f92bfe8b4eb2864a3f3edf69a
Author: Carl-Erik Kopseng <carl-erik@company.no>
Date:   Sat Nov 19 14:40:47 2016 +0100

    Integrate static html into epi blocks as partials

R079    Web/Views/Shared/Blocks/ChristmasLotteryBlock.cshtml    Web/Views/Shared/Blocks/ChristmasLotteryBlock/Index.cshtml
R076    Web/Static/blocks/_block_christmas-lottery-intro.html   Web/Views/Shared/Blocks/ChristmasLotteryBlock/_intro.cshtml
R099    Web/Static/blocks/_block_christmas-lottery-popup.html   Web/Views/Shared/Blocks/ChristmasLotteryBlock/_popup.cshtml
M       Web/Web.csproj
Run Code Online (Sandbox Code Playgroud)

076,099和079是指什么?我知道R可能代表"重命名".

git rename

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

以 root 身份运行 NPM 8 时获取 EACCESS

太棒了;使用 fs.readFileSync 的脚本在使用调用时抛出 EACCESS npm,但不使用node

在一个古老的(2016)Docker 镜像上,我需要运行一个postinstall涉及 Bower ( ) 的 NPM 脚本bower install --allow-root,但每当我这样做时,我都会得到EACCES: permission denied, open '/root/.config/configstore/bower-github.json'. 我发现这样做的npx bower结果是一样的。npx bower 在 Docker之外运行效果很好。

通常,我很容易处理这些问题,因为每当有人在sudo不应该执行的命令时使用命令时,这些问题通常就会出现。这些问题的解决方法通常是将所有者更改回当前用户,或者仅使用 sudo 和运行 Bower 命令--allow-root示例 1示例 2)。

然而,这不是这些问题之一。 我已经是root了!

完整的错误就像任何类似的问题:

root@eaa32456c249:/var/www/myproj# npx bower --allow-root
/var/www/myproj/node_modules/bower/lib/node_modules/configstore/index.js:54
                throw err;
                ^

Error: EACCES: permission denied, open '/root/.config/configstore/bower-github.json'
You don't have access to this file.

    at Object.openSync (node:fs:585:3)
    at Object.readFileSync …
Run Code Online (Sandbox Code Playgroud)

permissions node.js docker

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

使用子路径导出时无法使 Typescript 定义正常工作

在我的项目(最新提交)中,我的 package.json 中有两个导出:

  "exports": {
    ".": "./dist/index.js",
    "./react-lazy": "./dist/react-lazy.js"
  },
Run Code Online (Sandbox Code Playgroud)

在 JS 项目中使用它效果很好,但 TS 项目抱怨在我将一个模块拆分为子路径导出后找不到类型。

然后我尝试了我在另一个答案中看到的“扩展”导出版本:

  "exports": {
    ".": {
      "import": "./dist/index.js",
      "types": "./types/index.d.ts"
    },
    "./react-lazy": {
      "import": "./dist/react-lazy.js",
      "types": "./types/react-lazy.d.ts"
    }
  },
Run Code Online (Sandbox Code Playgroud)

不去。

然后我尝试了另一种方法typesVersion

  "typesVersions": {
    "*": {
      ".": "./types/index.d.ts",
      "./react-lazy": "./types/react-lazy.d.ts"
    }
  },
Run Code Online (Sandbox Code Playgroud)

还有,不去。是什么赋予了?现在我对这里的问题有点困惑。

尝试此操作时,我从测试项目中npm link启动了该项目并运行。npm link @fatso83/retry-dynamic-importtsc --lib es2015,dom --noEmit main.ts

我基本上只是测试这些行是否通过编译器:

import { dynamicImportWithRetry } from "@fatso83/retry-dynamic-import";

import reactLazy from "@fatso83/retry-dynamic-import/react-lazy";
Run Code Online (Sandbox Code Playgroud)

目前,上述所有尝试都以

$ tsc --lib es2015,dom …
Run Code Online (Sandbox Code Playgroud)

typescript package.json

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

如何调用子类中的重写方法?重构的潜在候选人

最初我有一个设计问题,我需要五个超类的子类,其中除了两个之外的所有子类都使用相同的通用方法,而另外两个类需要特殊处理.我想避免写五次这个方法; 两个特殊情况和三个相同的情况.

所以我让每个类继承SuperClass及其doSomething()方法,并使用自己的doSomeThing方法覆盖SubClassSpecial1和SubClassSpecial2.

这一切都很好,直到我写了一个类似的方法

void fooBar(SuperClass obj) {
    obj.doSomething()
}
Run Code Online (Sandbox Code Playgroud)

它可以被称为 fooBar( new SubClassSpecial1() );

问题是obj变量的运行时类现在是其超类的运行时类,因此它将调用超类中定义的方法.当然,我可以在超类中创建一个抽象的doSometing()方法,并使每个子类实现自己的版本,但这会重复三个类中的代码.我想避免这样做......

如果我有很多分支,我会失去任何增益多态性

if(obj.getClass().getName() == "SubClassSpecial1" )  ((SubClassSpecial1) obj).doSomething()K;
else if ...
Run Code Online (Sandbox Code Playgroud)

那么我该怎么做才能让设计更优雅,更不讨人喜欢呢?

java polymorphism refactoring overriding subclass

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

为什么浮动输入元素会改变其高度?

基本上我想要一个span和一个输入元素来占用相同数量的垂直空间,以便正确对齐两个框中的文本.当不浮动元素时,我可以很容易地实现这一点.但是只要我添加一个浮动属性,就会在输入元素的高度上添加一些额外的像素.我不能为我的生活理解为什么会这样.

我该如何解决?

iOS 6上的Safari和桌面上的Chrome存在此问题.在Firefox中也会发生,但效果有所不同.

我创造了这个小提琴,显示我的问题.

<input class='float' value="some text" id='input2'/>
<span class='float' id='text2'>some text</span><br />

input, span {
    font-family: Helvetica;
    font-weight: bold;
    font-size: 15px;
    line-height: 15px;
    padding: 0px;
    border: 0px;
}

input {
    text-align: right;
}

.float {
    float: right;
}
Run Code Online (Sandbox Code Playgroud)

css height css-float

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

增加WebView中WebSQL配额的大小

在普通的Android Web应用程序中,WebSQL数据库的最大大小通常约为8MB.在我正在制作的混合网络应用程序中,我想增加此限制.我该怎么做呢?

似乎WebStorage可能与它有关,但是我可以在那里看到的似乎设置大小的唯一方法setQuotaForOrigin被标记为已弃用.

欢迎示例代码(不推荐使用):)

android webview quota web-sql

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

在我的构建中包括关键路径CSS提取

在阅读了关键路径css后,我想知道如何将其嵌入到我的构建中.那里有没有完成的工具吗?该过程需要是自动化的,以避免内联CSS与其他CSS失去同步.

如果今天没有这样的工具,我可以看到我如何制作一个(比如一个咕噜的插件),将这个实验脚本与PhantomJS一起使用,但重新发明轮子没有意义(如果已经有了).

html css inline-styles

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

构建未在测试资源管理器中显示后运行测试

根据这篇关于VS2015的微软文章,测试资源管理器中应该有一个"在每次构建后运行测试"选项.那没有.知道如何启用它吗?

vs 2015测试资源管理器

我正在运行VS2015 Update 2,但也许我需要启用一些其他设置?

visual-studio visual-studio-2015

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

我可以在发布之前检查 npm 包的内容吗?

我希望能够在 npm 包发布之前对其内容运行脚本,以查看是否存在所有必需的文件。我们最近发布了一些已发布的软件包,这些软件包缺少一些内容,因为它们与.npmignore.

这可能吗?本质上是npm install . -g通过将完全相同的内容放入/usr/local/lib/node_modules/mypackageon来实现这一点吗NPM

node.js npm

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

出站 ChannelHandler 的捕获所有异常处理

在 Netty 中,您有入站和出站处理程序的概念。只需在管道末尾(尾部)添加通道处理程序并实现覆盖即可实现捕获所有入站异常处理程序exceptionCaught。如果未沿途处理,沿入站管道发生的异常将沿着处理程序传播,直到遇到最后一个处理程序。

传出处理程序并没有完全相反的情况。相反(根据 Netty in Action,第 94 页),您需要向通道添加一个侦听器 Future或者向传递Promise到.writeHandler

由于我不确定在哪里插入前者,我想我会选择后者,所以我做了以下操作ChannelOutboundHandler


    /**
     * Catch and log errors happening in the outgoing direction
     *
     * @see <p>p94 in "Netty In Action"</p>
     */
    private ChannelOutboundHandlerAdapter createOutgoingErrorHandler() {
        return new ChannelOutboundHandlerAdapter() {
            @Override
            public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
                logger.info("howdy! (never gets this far)");

                final ChannelFutureListener channelFutureListener = future -> {
                    if (!future.isSuccess()) {
                        future.cause().printStackTrace();
                        // ctx.writeAndFlush(serverErrorJSON("an error!"));
                        future.channel().writeAndFlush(serverErrorJSON("an error!")); …
Run Code Online (Sandbox Code Playgroud)

java asynchronous exception netty

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