一、基础环境配置
1.安装VS 2017 v15.3或以上版本
2.安装VS Code最新版本
3.安装Node.js v6.9以上版本
4.重置全局npm源,修正为 淘宝的 NPM 镜像:
1
|
npm install -g cnpm --registry=https: //registry .npm.taobao.org
|
5.安装TypeScript
1
|
cnpm install -g typescript typings
|
6.安装 AngularJS CLI
1
|
cnpm install -g @angular /cli
|
7.安装 Yarn
1
2
3
|
cnpm i -g yarn
yarn config set registry http: //registry .npm.taobao.org
yarn config set sass-binary-site http: //npm .taobao.org /mirrors/node-sass
|
8.启用Yarn for Angular CLI
1
|
ng set --global packageManager=yarn
|
至此,开发环境的基础配置工作基本完成。
搭建.Net Core项目时,采用Api模板构建一个空的解决方案,并在此基础上启用静态文件支持,详细配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace App.Integration
{
public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile( "appsettings.json" , optional: false , reloadOnChange: true )
.AddJsonFile($ "appsettings.{env.EnvironmentName}.json" , optional: true )
.AddEnvironmentVariables();
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get ; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
//services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection( "Logging" ));
loggerFactory.AddDebug();
//app.UseMvc();
app.UseDefaultFiles();
app.UseStaticFiles();
}
}
}
|
静态文件需要安装名为Microsoft.AspNetCore.StaticFiles的nuget包,请自行从包管理中安装。
三、配置Angular Cli调试环境
在开始项目调试之前,我们需将angular资源中的index.html移入wwwroot中,需注意,此index.html文件需是由ng build命令生成的版本,一般存储在/dist目录中
在编译angular资源前,我们需要在angular cli设置中,将DeployUrl选项设置为ng server的默认调试地址:
"deployUrl": "//127.0.0.1:4200", // 指定站点的部署地址,该值最终会赋给webpack的output.publicPath,注意,ng serve启动调试时并不会调研此参数
以下为Angular Cli的各个配置项说明。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
{
"project" : {
"name" : "angular-questionare" ,
"ejected" : false // 标记该应用是否已经执行过eject命令把webpack配置释放出来
},
"apps" : [
{
"root" : "src" , // 源码根目录
"outDir" : "dist" , // 编译后的输出目录,默认是dist/
"assets" : [ // 记录资源文件夹,构建时复制到`outDir`指定的目录
"assets" ,
"favicon.ico"
],
"index" : "index.html" , // 指定首页文件,默认值是"index.html"
"main" : "main.ts" , // 指定应用的入门文件
"polyfills" : "polyfills.ts" , // 指定polyfill文件
"test" : "test.ts" , // 指定测试入门文件
"tsconfig" : "tsconfig.app.json" , // 指定tsconfig文件
"testTsconfig" : "tsconfig.spec.json" , // 指定TypeScript单测脚本的tsconfig文件
"prefix" : "app" , // 使用`ng generate`命令时,自动为selector元数据的值添加的前缀名
"deployUrl" : "//cdn.com.cn" , // 指定站点的部署地址,该值最终会赋给webpack的output.publicPath,常用于CDN部署
"styles" : [ // 引入全局样式,构建时会打包进来,常用语第三方库引入的样式
"styles.css"
],
"scripts" : [ // 引入全局脚本,构建时会打包进来,常用语第三方库引入的脚本
],
"environmentSource" : "environments/environment.ts" , // 基础环境配置
"environments" : { // 子环境配置文件
"dev" : "environments/environment.ts" ,
"prod" : "environments/environment.prod.ts"
}
}
],
"e2e" : {
"protractor" : {
"config" : "./protractor.conf.js"
}
},
"lint" : [
{
"project" : "src/tsconfig.app.json"
},
{
"project" : "src/tsconfig.spec.json"
},
{
"project" : "e2e/tsconfig.e2e.json"
}
],
"test" : {
"karma" : {
"config" : "./karma.conf.js"
}
},
"defaults" : { // 执行`ng generate`命令时的一些默认值
"styleExt" : "css" , // 默认生成的样式文件后缀名
"component" : {
"flat" : false , // 生成组件时是否新建文件夹包装组件文件,默认为false(即新建文件夹)
"spec" : true , // 是否生成spec文件,默认为true
"inlineStyle" : false , // 新建时是否使用内联样式,默认为false
"inlineTemplate" : false , // 新建时是否使用内联模板,默认为false
"viewEncapsulation" : "Emulated" , // 指定生成的组件的元数据viewEncapsulation的默认值
"changeDetection" : "OnPush" , // 指定生成的组件的元数据changeDetection的默认值
}
}
}
|
为实现以.Net Core Api项目为主体的站点结构,我们需在使用ng server时启用Deploy选项,打开对静态资源“部署地址”的支持。注意:双站部署可能会产生JS跨域,请自行解决
在命令行启动Angular Cli调试服务器时加上deploy参数 ng serve --deploy-url '//localhost:4200/'
最后,通过VS的F5命令,打开Api项目的运行时,我们可以看到网站的运行效果。Enjoy Coding~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。