从零开始搭建基于.Net Core 2.1 与 Angular6.2的Web网站

前言

自从.NetCore2.1发布之后,一直碎碎念着了解下最新框架;最近终于有时间了,恰逢Angular发布了6.2版本,一切都是安排好的...
之前并没有接触过Angular,只是知道它是基于MVC思想发展起来的前段框架(对此没有任何概念)。在了解过程中才发现,真是强大到不止一点点。

不唠了,直接上干货!
  1. 安装Node.js
  2. 更新NPM的包地址
  3. 通过NPM安装Angular CLI模块;
  4. VS2017新建项目.NetCore Web项目
  5. 添加Angular CLI模块到项目中;
  6. 更新Angular输出文件目录
  7. 更新项目生成输出地址
  8. 安装Angular的依赖项
  9. 编译Angular项目
  10. 更新WebCore项目注入服务和中间件
  11. F5运行看结果

安装Node.js

根据电脑下载合适的版本,推荐稳定版;安装Node.js会自动安装NPM包管理器,VS2017也集成了NPM包管理器,大概和Nuget差不多的存在;可以执行命令行看到已经安装

image.png

Node.js下载

更新NPM的包地址

默认NPM包地址,安装包依赖会出现错误。可能我的电脑是个例外<>! 建议更新为淘宝国内的链接

--原生
metrics-registry = "https://registry.npmjs.org/"
--淘宝
metrics-registry=https://registry.npm.taobao.org
--执行命令行
npm config set metrics-registry https://registry.npm.taobao.org

可以打开这个文件看执行成功


image.png

通过NPM安装Angular CLI模块

这个没什么说的,通过Npm包管理器的命令行界面,安装Angular CLI模块,需要注意的是如果安装失败要记得清空NPM缓存;可以调用命令行查看安装成功;

--安装命令 其中-g指全局安装,和windows的pash变量一样
npm install -g  @angular/cli
--安装失败后,清除缓存
npm uninstall –g @angular/cli  
npm cache clean --force  //最新版需要加上 --force才能清楚

如图:


image.png

image.png
VS2017新建项目.NetCore Web项目

老套路点点点就可以了,使用MVC模式创建网站;至于勾选新建GIT存储库,是为了源码管理;
我们输入解决方案的名字 CoreAnugularWeb


image.png

image.png
添加Angular CLI模块到项目中

终于到二者融合的地方了;Window 运行调出cmd命令行,因为我们创建解决方案的时候勾选了为解决方案创建目录,现在的目录结构是这样


image.png

下一步 cd 到项目的根目录的上一级执行添加命令;


image.png

所以添加成功之后,我们的解决方案会出现很多新的文件,这些是Angular的项目文件;我们做一下改动将src这个目录名称改为ClientApp 这样正式一点...

image.png

到此我们的网站雏形就出来了;

--skip-install 跳过下载包,等编译Angular再下载
ng new CoreAnugularWeb --skip-install

更新Angular输出文件目录

Angular默认有自己的输出路径,但那不是我们想要的;修改angular.json 配置文件中 outputPath的值为wwwroot;因为我们更新了src文件夹的名称,所以需要批量修改src路径为ClientApp ;

  • 简单说一下,Angular 6的配置文件改为了 angular.json 不再是angular-cli.json

更多文件详情进入官网介绍
Angular目录详情介绍

image.png

安装Angular的依赖项

刚才我们往项目中添加Angular时并没有下载依赖的安装包,现在可以下载依赖了;通过管理员模式cd到项目的根路径,执行命令行。下载的包比较多耐心等待

npm install
image.png

这一步经常出现提示权限不足的问题,可以尝试切换命令行工具为 Power shell 重新执行 或者 执行清除缓存的命令行

npm cache clean --force

编译Angular项目

安装完成后,需要编译Angular项目;并生成文件到我们指定的wwwroot目录下;


image.png

更新WebCore项目注入服务和中间件

最后一步,需要更新我们WebCore网站的生成方法;
在解决方案中打开startup文件。

简单看一下微软对这个文件的介绍,其实就是注入服务以及服务的处理方法也就是所谓的管道

image.png

微软官方更多介绍

不明觉厉,甭管他直接上

  • 在ConfigureServices服务中注入
services.AddSpaStaticFiles(configuration =>
      {
        configuration.RootPath = "wwwroot";
      });
image.png
  • 在Configure中调用
      app.UseSpaStaticFiles();
image.png

F5运行看结果

到此结束,F5走起


image.png

总结:

感觉好麻烦,因为Angular不能随着VS编译 自动编译,而是需要自己来。这一点有大神已经解决,但是实在不想看了。把链接放在下边自己来吧

查看的资料

本文大部分依赖于此大神的文章 Net Core构建Angular4应用程序
Angular的官方文档 官方文档
微软官方NetCore文档
官方NetCore文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容