小编Sha*_*awn的帖子

将AngularJS导入Typescript作为AMD

我正在尝试遵循github上的教程来建立Typescript和angularjs的构建过程。老实说,我真的很挣扎。我从github上获得了项目,并将angularjs添加到bower文件,类型和带有angular.ts文件的lib目录中(遵循如何设置JQuery):

/// <reference path="../typings/tsd.d.ts"/>

var angular= angular;
export = angular;
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试以下操作时,我没有运气来注册我的应用程序模块:

import JQuery = require("../lib/JQuery");
import angular = require("../lib/angular");

class A{
  public add(number1:number, number2:number):number{
    return number1+number2;
  }

  public colorBG():void{
    var app = angular.module('myapp',[]);
    $("body").css({"background-color":"black"})
  }
}

export = A;
Run Code Online (Sandbox Code Playgroud)

我在网上看到有关此导入类型的相互冲突的信息,因为角度导入无法作为AMD进行,但是绝对类型化的键入文件已将其导出为AMD,所以有什么用呢?gulp构建过程成功完成,但对angular.module的调用抱怨它不是chrome控制台中的函数。是否有技巧使打字稿成角度,以便我可以为我的HTML连接一个输出文件?我已经为AMD尝试了requirejs,为commonjs尝试了tsify / browserify,但我都无法正常工作。在此先感谢您的指导。

amd angularjs typescript

5
推荐指数
1
解决办法
1万
查看次数

ASP.Net核心1.1 - 迁移失败

我知道VS 2017只是RC,但是将ASP.Net Core 1.0项目迁移到1.1似乎存在一些主要问题.迁移工具无法转换解决方案中我的8个项目中的2个(我更喜欢对我的项目采用分层架构方法)示例项目位于此处.一个项目特别是我将web api控制器方法移入的类库.在尝试重新创建此类库时,似乎无法在安装Microsoft.AspNetCore.Mvc nuget之后声明控制器类.它已安装但编译器未找到Controller,RouteAttribute类等.尝试设置DI层IServiceCollection时出现同样的问题.Nuget Microsoft.Extensions.DependencyInjection似乎没有这样做.

老实说,迁移日志并没有真正帮助我.它似乎表明我的服务项目和project.json文件存在问题,但您可以告诉它在存储库中.

感觉就像微软迫使我们走上了把所有"网络"东西塞进一个项目文件的道路.也许这些工具还不够远,但RC会表明它们应该更接近准备好了吗?

ReciPiBook.Api消息src\ReciPiBook.Api\ReciPiBook.Api.xproj:无法迁移XProj项目ReciPiBook.Api.'dotnet migrate -s -p"C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api"-x"C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api\ReciPiBook.Api.xproj"'退出时出现错误代码1. src\ReciPiBook.Api\ReciPiBook.Api.xproj:找不到文件'C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Services\project.json'.迁移失败.src\ReciPiBook.Api\ReciPiBook.Api.xproj:将C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api\ReciPiBook.Api.xproj备份到C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\Backup\src\ReciPiBook.Api\ReciPiBook.Api.xproj.src\ReciPiBook.Api\project.json:将C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api\project.json备份到C:\ Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\Backup\src\ReciPiBook.Api\project.json.

migration asp.net-core

5
推荐指数
1
解决办法
2096
查看次数

来自 Angular Route Guard 的 Web Api 调用

任何人都可以帮助我解决为什么在从调用返回结果后 Angular 防护内部的异步调用不会激活路由的问题吗?我尝试了几种方法,利用 Promise 和 observables 运气有限。我还发现了这个github 问题,特别是 albakov 的推荐。对我来说,注意下面执行的代码片段很重要。我在控制台中看到控制台消息,其中包含所有正确的值,我也能够在服务器端 api 调用中中断。结果被传递到 canActivate 守卫返回的 observable 中,但路由没有按预期激活。

具有调用 api 并将 _isAuthorized 主题与结果绑定的属性的服务方法:

private _isAuthorized: ReplaySubject<boolean> = new ReplaySubject(1);
get isAuthorized() { return this._isAuthorized.asObservable(); }

checkAuthority(id: number) {
    return this._http.get(this._apiUrl).toPromise().then((response) => {
        console.log(response + ' I resolved!');
        if (response.status === 200)
            this._isAuthorized.next(true);
    });
Run Code Online (Sandbox Code Playgroud)

消耗守护激活方法:

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): any {
  let id: number = this.getId();

  if (!this._oauthService.hasValidIdToken()) {
    this._router.navigate([`/login/${id}`]);
    return Observable.of(false);
  }

  this._myService.checkAuthority(id);
  return this._myService.isAuthorized.first();
}
Run Code Online (Sandbox Code Playgroud)

在将可观察的布尔值解析为 true 后,页面不会发生任何类型的控制台错误。

更新 …

rxjs angular

3
推荐指数
1
解决办法
5060
查看次数

Aurelia-Bundler无法获取aurelia-router.js

所以我正在完成我的第一个aurelia-bundler gulp任务.我在这里关注这篇文章,除了我将我的文件声明为gulpfile.js而不是看起来在他的解决方案中设置的bundler.js(我怀疑这很重要).无论如何,当我运行gulp bundle时,我收到以下错误:

C:\dev\Movies\src\Movies>gulp bundle
[21:13:34] Using gulpfile C:\dev\Movies\src\Movies\gulpfile.js
[21:13:34] Starting 'bundle'...
[21:13:36] 'bundle' errored after 1.68 s
[21:13:36] Error on fetch for aurelia-router.js at file:///C:/dev/Movies/src/Movies/wwwroot/aurelia-router.js
        Loading movies/edit.js
        Error: ENOENT: no such file or directory, open 'C:\dev\Movies\src\Movies
\wwwroot\aurelia-router.js'
    at Error (native)
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会在该位置查找,因为这些库都在jspm_packages文件夹下.我的gulp文件设置如下:

var gulp = require('gulp');
var bundler = require('aurelia-bundler');

var config = {
    force: true,
    packagePath: '.',
    bundles: {
        "wwwroot/appbundle":{
            includes:[
              'app', 'main', 'about/**', 'movies/**', 'resources/**',
              'aurelia-bootstrapper',
              'aurelia-framework',
              'aurelia-router',
              'aurelia-http-client',
              'aurelia-validation'
            ],
            options:{
                inject: true …
Run Code Online (Sandbox Code Playgroud)

gulp aurelia aurelia-router

2
推荐指数
1
解决办法
434
查看次数