欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

程序员文章站 2022-05-18 23:27:52
1.yoeman? yoeman是一个自动化脚手架工具。它提供很多generator,generator相当于visualstudio的模板,用来初始化项目。更多的就不多说了,写一遍都写不完,自己看...

1.yoeman?

yoeman是一个自动化脚手架工具。它提供很多generator,generator相当于visualstudio的模板,用来初始化项目。更多的就不多说了,写一遍都写不完,自己看吧。

https://yeoman.io/

2.安装 yoeman

安装yoman之前你需要先安装npm。npm是一个javascript的包管理工具,一般跟nodejs配合使用。https://docs.npmjs.com/getting-started/what-is-npm

使用npm来安装yoeman:

$npm install -g yo

安装速度比较慢,请registry阿里的npm镜像这样会快很多。

3.安装generator-net

generator-aspnet就是asp.net core的构建器了,我们需要安装它。

generator-aspnet依赖bower工具,所以我们要一起安装。

$npm install -g bower
$npm install -g generator-aspnet

安装完成后就可以使用yoeman了。

4.使用 yoeman

使用之前我们先假设一下我们的项目叫coreyo,其中分了2个项目,一个叫coreyo.web,一个叫coreyo.services。

我们先新建一个项目的根目录coreyo

mkdir coreyo
cd coreyo
使用yoeman创建coreyo.web
yo aspnet

yoeman会显示一个界面让你去选择创建的项目的类型

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

我们随便选一个,就选web application basic 项目吧。

选中之后回车,接着选择使用哪个ui

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

选择bootstrap就好了,选中回车。

接着让填写项目的名称coreyo.web,回车之后yoeman会帮你生成所有的文件,包括默认的controllers,views,javascript库等,这个跟我们利用viusalstudio来新建一个项目完成的工作是一样的。

我们用vscode打开项目文件夹看一下。

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

运行一下吧。

cd coreyo.web
dotnet restore
dotnet build
dotnet run

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

使用yoeman新建coreyo.services

我们开发项目的时候肯定是要分层的比如ui,services,data,models等。如果是vs的话就是在解决方案上右键新建项目了,但是vscode显然是不支持的。我们还得手工来建。

cd ..
yo aspnet

跳到根目录下使用yo aspnet命令来新建一个项目

然后在选择项目类型的时候选择 library,然后填写一个名字coreyo.services回车之后就会自动生成了。

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

我们使用vscode打开这个项目,然后把class1重命名为userservice,添加一个getusername的方法。

namespace coreyo.services
{
    public class userservice
    {
        public static string getusername(string userid)
        {
            return "agile.zhou";
        }
    }
}

然后restore,build一下,没有错误。

coreyo.web引用coreyo.services

但是现在coreyo.services跟coreyo.web两个项目是独立,vscode又没有vs的引用功能,怎么才能让coreyo.web来引用coreyo.services并调用它的方法呢?

我们打开coreyo.web的project.json,在dependencies节点下添加对coreyo.services的引用。

"coreyo.services":"1.0.0"

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

然后我们对coreyo.services打包

dotnet pack

打包成功后,我们切换到coreyo.web目录下,使用restore还原

cd ..
cd coreyo.web
dotnet restore

还原成功后我们来在homecontroller/index里调用一下userservice的getusername方法。

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

当用户访问首页的时候就会在控制台打印出用户名agile.zhou

然后我们build,run coreyo.web

dotnet build
dotnet run

看一下控制台

在Mac上开发使用yoeman构建Asp.net core项目并且实现分层引用

可见我们的services被调用成功了。

kun,zzzzzzzzzzz...