1

我已阅读并遵循此处此处给出的说明和建议,但仍然无法阻止此错误弹出。以下是我遵循的安装说明 安装过程

这些是我不断遇到的错误 在此处输入图像描述

以下是我的 tsconfig 文件

{
  "compileOnSave": true,
  "compilerOptions": {
"typeRoots": [ "libs/@types" ],

"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"outDir": "../wwwroot/appScripts/",
"removeComments": false,
"sourceMap": true,
"target": "es6",
 "moduleResolution": "node"
  },
  "exclude": [
"node_modules",
"typings/index",
"typings/index.d.ts",
"typings/browser",
"typings/browser.d.ts"

  ]
}

我的 gulpfile

    var ts = require('gulp-typescript');
var gulp = require('gulp');
var clean = require('gulp-clean');

var destPath = './wwwroot/libs/';

gulp.task('clean', function () {
    return gulp.src(destPath)
        .pipe(clean());
});


gulp.task("scriptsNStyles", () => {
    gulp.src([
        'core-js/client/**',
        'systemjs/dist/system.src.js',
        'reflect-metadata/**',
            'rxjs/**',
            'zone.js/dist/**',
            'jquery/dist/jquery.*js',
            'bootstrap/dist/js/bootstrap.*js',
            'ng2-bootstrap/**',
            'lodash/**',
            'moment/**',
            'symbol-observable/**',
            'hammerjs/**',
            'jasmine/**',
            '@types/**',
            '@angular/**'
    ], {
        cwd: "node_modules/**"
    })
        .pipe(gulp.dest("./wwwroot/libs"));
});

var tsProject = ts.createProject('scripts/tsconfig.json'
    ,{ typescript: require('typescript') }
    );
gulp.task('ts', function (done) {
    //var tsResult = tsProject.src();
    var tsResult = gulp.src(["scripts/**/*.ts","scripts/**/**/*.ts", "scripts/*.ts"])
        .pipe(ts(tsProject), undefined, ts.reporter.fullReporter());
    return tsResult.js.pipe(gulp.dest('./wwwroot/appScripts'));
});

gulp.task('watch', ['watch.ts']);

gulp.task('watch.ts', ['ts'], function () {
    return gulp.watch('scripts/**/*.ts', ['ts']);
});

gulp.task('default', ['scriptsNStyles', 'watch']);

我的 main.ts 文件

    /// <reference path="../wwwroot/libs/@types/hammerjs/index.d.ts" />

import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { AppModule } from "./app.module";

platformBrowserDynamic().bootstrapModule(AppModule);

我已经失去了一半的头发试图弄清楚这一点。我确信我一定在某些地方犯了一些愚蠢的错误。

4

2 回答 2

1

好的,所以我的问题解决了,但我需要有人向我解释为什么我采用的方法有效,嗯,几乎。我已经按照我能找到的所有建议让 Angular 材料 2.0.0-alpha.10 和 Hammerjs@2.0.8 和“@types/hammerjs@2.0.33”一起玩,但无济于事。我在我的 main.ts 中做了这个“import 'hammerjs'”,但它从来没有奏效。所以我双击错误列表中的一个错误并找到包含错误的文件

    import { MdGestureConfig } from '../core';
import 'hammerjs';
/**
 * An extension of MdGestureConfig that exposes the underlying HammerManager instances.
 * Tests can use these instances to emit fake gesture events.
 */
export declare class TestGestureConfig extends MdGestureConfig {
    /**
     * A map of Hammer instances to element.
     * Used to emit events over instances for an element.
     */
    hammerInstances: Map<HTMLElement, HammerManager[]>;
    /**
     * Create a mapping of Hammer instances to element so that events can be emitted during testing.
     */
    buildHammer(element: HTMLElement): HammerManager;
    /**
     * The Angular event plugin for Hammer creates a new HammerManager instance for each listener,
     * so we need to apply our event on all instances to hit the correct listener.
     */
    emitEventForElement(eventType: string, element: HTMLElement, eventData?: {}): void;
}

并在其中放置以下导入行

import 'hammerjs'

而且,瞧,所有的错误都消失了。我希望那里的一些聪明人能提供一些解释,说明这到底是如何解决的,或者不是。

然而,我还有最后一点挑战要处理

Severity    Code    Description Project File    Line    Suppression State
Error   TS2309  Build:An export assignment cannot be used in a module with other exported elements. ReportBook.Web  C:\Users\Julius\Documents\Projects\School\Development\ReportBook\ReportBook.Web\node_modules\@types\node\index.d.ts 3625    
于 2016-11-20T16:04:54.647 回答
0

今天我遇到了同样的问题,从 2.0.x 升级到 2.4.x。我在这里找到了解决方案: https ://material2-docs-dev.firebaseapp.com/guide/getting-started

如果你想从 npm 中包含 HammerJS,你可以安装它:

> npm install --save hammerjs  
> npm install --save-dev @types/hammerjs

在您的应用程序模块上导入 HammerJS。

src/app/app.module.ts

> import 'hammerjs';

最后,您需要将hammerjs添加到类型中

tsconfig.json 文件的部分:

{
  "compilerOptions": {
    "types": [
      "hammerjs"
    ]
  }
}
于 2017-01-10T22:43:10.200 回答