在安装Jenkins之前我运行了这个: npm install -g @ angular/cli
但我也在package.json中的devDependencies中为项目提供了这个:
"@ angular/cli":"1.0.0-beta.32.3",
在运行Jenkins构建时,我在日志中收到此消息:
'ng'不被识别为内部或外部命令,可操作程序或批处理文件.
=======================================
这是Jenkins中的Windows批处理命令:
cmd/c调用npm install
设置路径=%WORKSPACE%\node_modules\@angular\cli\bin;%PATH%
echo%PATH%
ng build -prod
========================================
这是Jenkins的更多日志输出:
C:\ Program Files(x86)\ Jenkins\workspace\UiUnitTests> ng build -prod
'ng'不被识别为内部或外部命令,可操作程序或批处理文件.
C:\ Program Files(x86)\ Jenkins\workspace\UiUnitTests>退出9009构建步骤'执行Windows批处理命令'将构建标记为失败
但是当我从命令行运行时(不是在Jenkins工作中),这很好用:
C:\ Program Files(x86)\ Jenkins\workspace\UiUnitTests> ng build -prod
要禁用此警告,请使用"ng set --global warnings.versionMismatch = false".哈希:7853ecb5a81a25eadbeb时间:61317ms chunk {0} polyfills.7aaf5284cd5921eea40b.bundle.js(polyfills)278 kB {4} [initial] [rendered] chunk {1} main.3380f71d3e71966aea27.bundle.js(main)371 kB {3} [initial] [rendered] chunk {2} styles.9db1bafdfc989b37db97.bundle.css(styles)69 bytes {4} [initial] [rendered] chunk {3} vendor.24574fc8320129058fac.bundle.js(vendor)2.18 MB [initial] [rendering] …
对于我的Angular应用程序,这里是app.routing.ts文件:
const appRoutes: Routes = [
{ path: '', component: LoginComponent },
{ path: 'dashboard', component: DashboardComponent },
{ path: 'application', component: ApplicationComponent },
{ path: 'decision', component: DecisionComponent },
];
export const routing = RouterModule.forRoot(appRoutes);
Run Code Online (Sandbox Code Playgroud)
所以在我的本地计算机上,当我进行服务时,我可以转到浏览器中的地址栏并键入以下地址:
本地主机:4200 /仪表板
本地主机:4200 /应用
这很有效.
然后我做:
ng build --base-href /deploy/ --prod
Run Code Online (Sandbox Code Playgroud)
然后将文件从本地计算机上的dist文件夹复制到Azure Blob存储.我必须有一个文件的blob容器,该容器称为deploy.我最终得到的结果如下:
https://xxyz.blob.core.windows.net/deploy/favicon.ico
https://xxyz.blob.core.windows.net/deploy/index.html
https://xxyz.blob.core.windows.net/deploy/assets/Logo.svg
https://xxyz.blob.core.windows.net/deploy/main.68dbes8ef20.bundle.js
https://xxyz.blob.core.windows.net/deploy/styles.a2b9daa6d36.bundle.css
Run Code Online (Sandbox Code Playgroud)
我等可以去:
https://xxyz.blob.core.windows.net/deploy/favicon.ico
Run Code Online (Sandbox Code Playgroud)
并看到图标
然后,在Verizon Edgecast CDN上,我可以去:
https://xxyz.com/deploy/index.html启动我的应用并登录.
但我不想在CDN上访问https://xxyz.com/deploy/index.html进行登录.
我想去
另外,我不能去CDN上的这些地方:
https://xxyz.com/deploy/dashboard
https://xxyz.com/deploy/application
我真正想要的是能够从CDN做到这一点:
我正在使用 Visual Studio Code,并且我正在尝试在 Angular 的 Nrwl.Nx 工作区中调试 Jest 测试。
这是我迄今为止尝试过的:
启动文件
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest All Tests",
"program": "${workspaceFolder}/src/Web/Finance/client-app/node_modules/.bin/jest",
"args": ["--runInBand"],
"cwd": "${workspaceFolder}/src/Web/Finance/client-app/apps/finance",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true,
"windows": {
"program": "${workspaceFolder}/src/Web/Finance/client-app/node_modules/jest/bin/jest"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
app.component.spec.ts
import { TestBed, async } from '@angular/core/testing';
import { AppComponent } from './app.component';
import 'zone.js/dist/zone.js';
import 'zone.js/dist/async-test.js';
import 'zone.js/dist/proxy.js';
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [AppComponent],
}).compileComponents();
}));
it('should create …Run Code Online (Sandbox Code Playgroud) 对于下面的代码,它在调用时捕获HttpRequestException/System.Net.Http.WinHttpException
异常状态:NativeErrorCode 12175
消息"发生安全性错误"
__CODE__1.ConfiguredTaskAwaiter.GetResult()at System.Net.Http.HttpClient.d__58.MoveNext()---从抛出异常的先前位置开始的堆栈跟踪结束---在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()在Controllers.Controller.d__0.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()上的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)但是在相同的端点,资源,标题和正文上使用Postman,我得到200回.
NativeErrorCode 12175
Message "A security error occurred"
- e {System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: A security error occurred
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() …Run Code Online (Sandbox Code Playgroud)