一则简短的技术备忘录

    プログラミング用日本語等幅フォント Cica(シカ)

实体框架

    https://docs.microsoft.com/ja-jp/ef/core/

.NET核心

パッケージバージョンdotnetCore<=2.1.301

ASP.NET Core 2.1 简称为ASP.NET核心2.1版本。

    • 公式ブログ

 

    https://qiita.com/sugasaki/items/b6e6cd579ea205863908

自定义模板

安装和使用自定义模板有两种方法。

    • nugetパッケージ

テンプレートはnugetのパッケージとして管理される。
テンプレートのインストール/アンインストールは、nugetパッケージIDで行う

ファイルシステム

テンプレートは管理されない。
インストールでは、template.jsonの存在するファイルパスが管理される
アンインストールでは、template.jsonの存在するファイルパスを指定する

如果文件系统方式被使用,当模板的存储路径从安装位置移动时,使用该模板的dotnet new命令将无法成功执行。

制作方法 (zuò

可以根据上述网站的参考创建一个自定义模板。
自定义模板是使用dotnet new命令创建新项目时用于创建骨架的模板。

模板.json


{
  "$schema": "http://json.schemastore.org/template",
  "author": "Atachimiko",
  "classifications": [ "Web", "MVC", "SPA" ],
  "name": "Atachi's Custom Template",
  "identity": "AtachiCustomTemplate",
  "shortName": "atachi",
  "tags": {
      "language": "C#"
  },
  "sourceName": "AtachiCustomTemplate",
  "preferNameDirectory" : "true"
}

$schema

“http://json.schemastore.org/template”の値でよい。

author

テンプレートの製作者名

classifications

テンプレートの種類を示すタグ名。複数指定可能。

identity

テンプレートの定義名。システムにインストールするテンプレートには、一意のidentityを割り振らなければなりません。

name

テンプレートの名称

shortName

テンプレートの省略名。dotnet new コマンドで使用します。

tags

テンプレートのタグ。classificationsとの違いは不明ですが、言語名の指定に使われることが多いようです。

使用文件系统指定方式进行模板的卸载。

由于模板的名称和shortName无法删除,首先使用dotnet new -u命令来显示已安装的模板列表,然后通过指定显示的项目作为参数来卸载目标模板。

$ dotnet new -u
.NET Core CLI 用テンプレート インスタンス化コマンド

Currently installed items:
 Microsoft.DotNet.Common.ItemTemplates
 Microsoft.DotNet.Common.ProjectTemplates.2.0
 Microsoft.DotNet.Test.ProjectTemplates.2.0
 Microsoft.DotNet.Web.ItemTemplates
 Microsoft.DotNet.Web.ProjectTemplates.2.0
 Microsoft.DotNet.Web.Spa.ProjectTemplates
$ dotnet new -u Microsoft.DotNet.Web.Spa.ProjectTemplates

角度

パッケージバージョンAngular<=6.0.0Material<=6.0.0CLI<=6.0.0

你要我用中文将”トラシュー”转换或者改写吗?

错误:找不到本地工作空间文件(’angular.json’)。

路由

    • Angularのルーティング設定(基礎編)

 

    Angular Routerメモ – ryotah’s blog

测试框架

请用中文对下列断言库 “chai” 进行释义。

“chai” 是一种用于测试代码的断言库。

Angular使用的标准断言库。

    chai

这是一个提供assert()系列方法的库。

// user.attrが{}であることを確認する
chai.assert.isObject(user.attr);

// user.attr.idの値が-1であることを確認する
chai.assert.propertyVal(user.attr, 'id', -1);
    • mocha / chai チートシート – Qiita

 

    ユニットテストって何?って人向けのmochaとchaiの使い方 – Qiita

考试运动员考古拉玛

    https://qiita.com/howdy39/items/b9d704e7f84053924da3

经常会发生使用了Material等外部库却未定义模块指令,导致HTML解析失败,从而无法执行测试代码的情况。可以逐个添加定义,或者干脆采用不测试外部库的方式。

如果想在出现语法错误时不停止测试而继续进行处理,请在SPEC文件中进行以下描述。

import { NO_ERRORS_SCHEMA } from '@angular/core';

// describe内で、NO_ERRORS_SCHEMA を記述する
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [
        AppComponent,
      ],
      schemas: [
        NO_ERRORS_SCHEMA // <-- this line is also important
      ]
    }).compileComponents();
  }));

Jasmine 单元测试代码

karma运行的单元测试代码是用jasmine编写的。

describe('add関数のテスト', function() {
    it('1 + 2 は 3', function() {
        expect(add(1, 2)).toBe(3);
    });
});

锤子.js

锤子.js

<div id="myElement" style="background: silver;height: 300px;" (press)="onHammerPress($event)"
     (swipe)="onHammerSwipe($event)">SW</div>
export class HomeComponent {
    onHammerPress() {
        console.info("Execute onHammerPress");
    }

    onHammerSwipe() {
        console.info("Execute onHammerSwipe");
    }
}

角度材料

用于Angular的用户界面基础架构。

$ npm install --save @angular/material @angular/cdk
$ npm install --save @angular/animations

启动器组件

    • ダッシュボードコンポーネント

 

    • データテーブルコンポーネント

 

    レスポンシブサイドメニューコンポーネント

MDB Angular 用中文释义

ASP.NET(含VisualStudio)

ASP.NET Core で Angular プロジェクト テンプレートを使用する – MSDN

事前に、ngコマンドをグローバルインストールしておく必要がある

    1. 在任意的文件夹中执行 dotnet new angular -o my-new-app 命令。

将创建一个名为“my-new-app”的新文件夹。

执行 cd my-new-app 命令。

执行 my-new-app.csproj 文件(将启动 VisualStudio)。

通过这种方法创建的Angular2基础源代码将存储在ClientApp文件夹中。
在VisualStudio中,会自动转译此文件夹并启动应用程序。

这些也可以通过Angular2的CLI应用中的ng命令来执行。

ng命令是Angular CLI(@angular/cli包)中包含的命令,可通过npm进行安装。
可以在全局空间或项目本地空间进行安装。

在上述创建的项目文件夹中执行npm install –save-dev @angular/cli命令来安装。

如果已经在全局环境中安装了 AngularCLI,而且版本较低,那么会进行升级到最新版本。

$ npm update -g @angular/cli

安装Angular的方法版本非常陈旧,属于Angular4系列,因此可以使用ng update命令进行升级。

$ ng update @angular/core

ASP.NET Core 2.1的释义

从这个版本开始,dotnet命令生成的asp.net模板发生了变化,现可以调用专注于SPA架构的API。

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
else
{
    app.UseExceptionHandler("/Home/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSpaStaticFiles();

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller}/{action=Index}/{id?}");
});

app.UseSpa(spa =>
{
    // To learn more about options for serving an Angular SPA from ASP.NET Core,
    // see https://go.microsoft.com/fwlink/?linkid=864501

    spa.Options.SourcePath = "ClientApp";

    if (env.IsDevelopment())
    {
        spa.UseAngularCliServer(npmScript: "start");
    }
});

神气活现

如果要使用SPA,界面定义肯定是用Swagger呢,关于Swagger的使用方法,请参考这个网站。

    https://qiita.com/gcyata/items/342073fa7607fd4082bd

厮杀

为了使用在ASP.NET Core中通过Swagger定义的REST API,可以使用方便的Swashbuckle库来实现。

    Swashbuckle と ASP.NET Core の概要 – Microsoft Docs

生成Swagger UI

可以使用AddSwaggerGen方法。
在配置中,可以为生成的SwaggerUI提供各种信息。

public class Startup
{
    /// <summary>
    /// Configures app the services.
    /// </summary>
    /// <param name="services">The services.</param>
    public void ConfigureServices(IServiceCollection services)
    {
      services.AddSwaggerGen(c =>
      {
        c.SwaggerDoc("v1", new Info
        {
          Version = "v1",
          Title = "pixstock.service.web API",
          Description = "A simple example ASP.NET Core Web API",
          Contact = new Contact { Name = "Juan  Carmona", Email = "d.jgc.it@gmail.com", Url = "https://wisegeckos.com" },
        });
        // Set the comments path for the Swagger JSON and UI.
        var basePath = AppContext.BaseDirectory;
        var xmlPath = Path.Combine(basePath, "pixstock.service.web.xml");
        c.IncludeXmlComments(xmlPath);
      });
    }
}
广告
将在 10 秒后关闭
bannerAds