我有这个(在gulpfile.js中):
var gulp = require("gulp");
var mocha = require("gulp-mocha");
gulp.task("test", function() {
gulp
.src(["./**/*_test.js", "!./node_modules/**/*.js"]);
});
Run Code Online (Sandbox Code Playgroud)
它的工作原理.
我想从mocha命令复制相同的行为,不包括"node_modules"文件夹,运行npm test(在package.json中):
"scripts": {
"test": "mocha **\\*_test.js !./node_modules/**/*.js*",
}
Run Code Online (Sandbox Code Playgroud)
它不起作用.
我正在使用Windows.
有什么建议吗?
我正在尝试在网站上上传一个新的 NuGet 包。
https://www.nuget.org/packages/manage/upload
第一次尝试时,我收到一个错误,提示我需要指定许可证。
我不想但是……好吧。
所以,我第一次尝试使用指定的许可证失败了。我阅读了链接的文档并尝试了多次。
我尝试使用一个<license>属性并在包中包含一个 license.txt 文件。
这些是我对 .nuspec 文件的尝试以及我收到的错误:
<license type="MIT"/>
=> Error: Unsupported license type 'MIT'.
(I know it is wrong but I found this "example" here: https://github.com/NuGet/Home/wiki/Packaging-License-within-the-nupkg)
<license type="expression">MIT</license>
=> Error: To provide a better experience for older clients when a license expression is specified, must be set to 'https://licenses.nuget.org/MIT'.
<license type="expression">BSD-2-Clause OR MIT</license>
=> Error: To provide a better experience for older clients when a license expression is specified, must be …Run Code Online (Sandbox Code Playgroud) 我之前有一个 GitHub Action,其中有一个 Job 做了 3 件事:
现在,我将这项工作分成了 3 个不同的部分,因为:
这是当前的 GitHub 操作:
name: Pull Request Checks
on:
pull_request:
types: [opened, synchronize, reopened, labeled]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Buid VS solution
id: build
run: dotnet build "FSharp project/MyProject.sln" -c RELEASE
unit-tests:
name: Unit Tests
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Unit Tests …Run Code Online (Sandbox Code Playgroud) 我在 .net core 3.1 中找不到RIPEMD160的任何实现。
Net Standard、Core 3.1、Core 5.0不存在RIPEMD160 的 MS文档。
在System.Security.Cryptography中我找不到与之相关的任何内容。
在寻找第三方包(可能是Chilkat)之前,我想尝试使用框架库。
在 Azure DevOps 中,我有一个管道变量“包版本”,我使用0.1.3$(Rev:.r)-alpha.
我使用该变量来替换 .net core 项目文件中的“版本”。
在构建任务中,dotnet 构建给了我这个错误:
所以我假设 Pipeline 变量不能使用嵌套变量。
有其他方法或不同的语法来做到这一点吗?
[编辑]
嵌套变量应该可以工作。我认为错误是 dotnet pack 使用自动包版本控制设置为“使用内部版本号”,其中包含错误$(rev:.r)(小写!)。
在 VS 项目文件中使用自定义字符串作为 Version 会在 VS 上产生噪音(如果文件打开则出现错误,否则发出警告),现在 Pipeline Build 由于版本无效而在 dotnet nuget 恢复时出现错误。
我决定使用一个简单的干净版本,<Version>0.1.2</Version>我可以选择并记录它。然后我想找到一种方法在构建管道中读取它并创建一个附加构建修订版的自定义变量:
0.1.2$(Rev:.r) => 0.1.2.123
这就是我想要的结果。
我发现了这个: https ://marketplace.visualstudio.com/items?itemName=tmarkovski.projectversionasvariable
我使用它创建的变量来组成一个新变量“包版本”:
我在nuget pack任务中使用它:
但它不起作用。
结果变量仍然包含未解析的“$(Rev:.r)”。
我将尝试再次使用“自动包版本控制”并在选项中创建内部版本号...
[编辑 2]
在 Pipeline Build Options 中设置构建版本号。
这不是最佳解决方案,因为内部版本号未解析并且看起来很糟糕。
[解决方案]
$(Rev:.r)在构建/选项之外不可用。
我使用$(Build.BuildNumber)并且能够创建一个组合变量:
$(Version.MajorMinor).$(Build.BuildNumber)-alpha
Build.BuildNumber在 Build/Options 中确定:$(Build.DefinitionVersion)$(Rev:.r)
Version.MajorMinor由Project Version …
如何在接口中定义静态成员?
为什么不可能呢?
我想强制 F# 类型(类)使用静态方法从字符串(JSON 解析)创建其自身的实例。我想要这个界面示例:
[<Interface>]
type public ILikeJson<'T> =
abstract member ToJson: unit -> string // OK
static abstract member FromJson: string -> 'T // <-- "static" is not valid here !
Run Code Online (Sandbox Code Playgroud)
或者,字符串的构造函数可以完成这项工作,但静态方法听起来更好,因为它将有一个适当的名称,而且我也不知道如何在接口中定义构造函数。
根据文档{Date object}。toLocaleString()应使用浏览器默认区域设置(未指定时)。默认语言环境通过navigator.language
可见。
当我的语言环境为“en-GB”时,我希望输出格式为 DD/MM/YYY。
它返回 MM/DD/YYYY(“en”或“en-US”)。
如果我将语言环境指定为“en-GB”,则输出将按预期进行。
为什么 navigator.locale 不用于 .toLocaleString() ?
日期:2021 年 11 月 24 日。
window.navigator.language // default "locale" ?
new Date().toString()
new Date().toLocaleDateString() // is not using the window.navigator.language
new Date().toLocaleDateString("en-GB") // ok, this use the right format
Run Code Online (Sandbox Code Playgroud)
我正在使用 GitHub 中的一个项目(新)的板。当拉取请求中有一个问题链接到它并且我关闭拉取请求(使用拉取请求页面底部的 GitHub 按钮)时,问题也会关闭。
我不希望出现这种行为,即使这是该问题的唯一 PR。
我尝试更改项目工作流程设置,删除“拉取请求”“is:已关闭”触发器:
异步方法中的代码库是这样的:
Thread.Sleep(500);
Run Code Online (Sandbox Code Playgroud)
一位同事将其重构为这样:
Task.Delay(500).Wait();
Run Code Online (Sandbox Code Playgroud)
考虑到相对较小的延迟,使用异步版本真的有优势吗(Task.Delay())?
如果延迟是几毫秒或几秒,它会改变吗?
更重要的是......击败他不是.Wait()为了异步吗?
为了提供更多上下文,这是在平均每分钟运行一次的后台进程中执行的。
第二种方法不是浪费更多资源吗?(正如这里的一些评论似乎表明的那样)
我有一个复杂的示例,但是我使用简单的对象简化了案例。
给定2个功能:
let add (a:int) b = a + b
let aee (a:int[]) b = a.[0] + b
Run Code Online (Sandbox Code Playgroud)
它们可以按以下方式使用:
let c = add 1 5
let a = [|1; 2|]
let d = aee a 5
Run Code Online (Sandbox Code Playgroud)
所以,为什么这是有效的:
let c = 1 |> add 5
Run Code Online (Sandbox Code Playgroud)
这不是吗?
let d = [|1;2|] |> aee 5 // Type mismatch, expecting int[] -> `a but given int -> int
Run Code Online (Sandbox Code Playgroud)
如果很重要,我的实际情况如下:
open FSUnit
type Tick (symbol:string, ask:decimal, bid:decimal) =
member __.Symbol = symbol
member __.Ask = …Run Code Online (Sandbox Code Playgroud)