我有一个用 Typescript(我们称之为libd)编写的 NPM 包,它提供了一些类和类型。它们导出到一个index.ts文件中,如下所示:
export { ClassA } from "./ClassA";
export { TypeB } from "./TypeB";
Run Code Online (Sandbox Code Playgroud)
在ClassA使用外部依赖(我们称之为depc)被设置为在peerDependencies package.json。这TypeB只是一种没有任何外部依赖关系的类型。
在package.json主字段中设置为dist/index.js(它被转译到的位置)和类型设置为dist/index.d.ts。
在tsconfig.json该的libd包看起来是这样的:
{
"compilerOptions": {
"target": "ES2019",
"module": "commonjs",
"declaration": true,
"outDir": "dist",
"rootDir": "src",
"inlineSources": true,
"inlineSourceMap": true
}
}
Run Code Online (Sandbox Code Playgroud)
现在我TypeB在另一个库中使用它(让我们称之为libe),而无需导入ClassA并且没有depc安装依赖项。该libd库是通过 NPM 安装的,类型是这样导入的:
import { TypeB } from "libd";
Run Code Online (Sandbox Code Playgroud)
该 …
我有一个 .NET 6 Web API 项目,其中包含一些 API 端点的现有集成测试。该项目使用 Serilog 进行日志记录,到目前为止一切都很好。
我将代码迁移到新的最小托管模型,删除了进程中的 Startup 类。我修复了集成测试以使用新模型,到目前为止一切都在运行。我遇到的唯一问题是,集成测试现在垃圾邮件日志语句。
对于 Serilog,我有两个阶段的设置,这就是 Program.cs 的样子:
public partial class Program
{
public static string ApplicationVersion => typeof(Program).Assembly
.GetCustomAttribute<AssemblyInformationalVersionAttribute>()
.InformationalVersion;
/// <summary>
/// Hack to prevent duplicate logger initialization when integration tests run in parallel.
/// </summary>
public static bool IsIntegrationTestRun = false;
public static int Main(string[] args)
{
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production";
if (!IsIntegrationTestRun)
{
// extra logger only for app startup
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext() …Run Code Online (Sandbox Code Playgroud) 我有一个基础对象(自定义资源),我需要多次使用不同的名称并添加(或更改)一个属性。所以我定义了一个基本 yaml 文件并在覆盖层中引用它kustomization.yaml。
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 base\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n| \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 base.ClusterOutput.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my-env\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\nRun Code Online (Sandbox Code Playgroud)\n现在我需要更新该metadata.name字段并添加一个可以通过补丁完成的属性kustomization.yaml
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 base\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n| \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 base.ClusterOutput.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my-env\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\nRun Code Online (Sandbox Code Playgroud)\n直到这里它都按预期工作,但在某些环境中我需要多个自定义资源实例,并且我不知道如何做到这一点。我尝试了多个补丁,但它们相互覆盖,最终得到一个具有最后一个补丁的对象。\n我不想编写多个基础对象,在某些环境中我只需要一个,并且除了名称之外它们是相等的无论如何,还有一个属性。\n有什么方法可以用 kustomize 来做到这一点吗?
\n