Ich habe eine Angular-Anwendung mit Yeoman Schluck Typoskript-Generator generiert.Schluck Typoskript wirft Fehler TS2300: Doppelter Bezeichner 'Moment'
plötzlich ohne ersichtlichen Grund (Änderung des Projekts) während Build Typoskript begann werfen Fehler:
.tmp/typings/moment/moment-node.d.ts(6,16): error TS2300: Duplicate identifier 'moment'.
[22:08:34] [TypeScript] TypeScript error: .tmp/typings/moment/moment-node.d.ts(6,16): error TS2300: Duplicate identifier 'moment'.
.tmp/typings/moment/moment.d.ts(8,13): error TS2300: Duplicate identifier 'moment'.
Siehe unten Gehalt von unter Dateien für den Hinweis. Ich habe 'tsd: install' von der gulp script
Aufgabe entfernt, um zu verhindern, dass die ds.ts Dateien und die tsd.d.ts Datei überschrieben werden. Dann versucht, tsd.d.ts zu ändern, um das Problem zu beheben (Ich habe versucht, Moment-Knoten, Moment zu entfernen, Reihenfolge ändern, ich habe auch versucht, moment.d.ts und moment-node.d.ts zu bearbeiten, nichts hat funktioniert: /) .
Meine tsd.json Datei:
{
"version": "v4",
"repo": "borisyankov/DefinitelyTyped",
"ref": "master",
"path": ".tmp/typings",
"bundle": ".tmp/typings/tsd.d.ts"
}
Mein script.js (schluck taks):
'use strict';
var path = require('path');
var gulp = require('gulp');
var conf = require('./conf');
var browserSync = require('browser-sync');
var $ = require('gulp-load-plugins')();
var tsProject = $.typescript.createProject({
target: 'es5',
sortOutput: true
});
gulp.task('scripts', ['tsd:install'], function() {
return gulp.src(path.join(conf.paths.src, '/app/**/*.ts'))
.pipe($.sourcemaps.init())
.pipe($.tslint())
.pipe($.tslint.report('prose', { emitError: false }))
.pipe($.typescript(tsProject)).on('error', conf.errorHandler('TypeScript'))
.pipe($.concat('index.module.js'))
.pipe($.sourcemaps.write())
.pipe(gulp.dest(path.join(conf.paths.tmp, '/serve/app')))
.pipe(browserSync.reload({ stream: true }))
.pipe($.size())
});
generiert tsd.d.ts:
/// <reference path="angular-local-storage/angular-local-storage.d.ts" />
/// <reference path="angular-ui-router/angular-ui-router.d.ts" />
/// <reference path="angularjs/angular-animate.d.ts" />
/// <reference path="angularjs/angular-cookies.d.ts" />
/// <reference path="angularjs/angular-mocks.d.ts" />
/// <reference path="angularjs/angular-resource.d.ts" />
/// <reference path="angularjs/angular-sanitize.d.ts" />
/// <reference path="angularjs/angular.d.ts" />
/// <reference path="bootstrap/bootstrap.d.ts" />
/// <reference path="d3/d3.d.ts" />
/// <reference path="jquery/jquery.d.ts" />
/// <reference path="moment/moment.d.ts" />
/// <reference path="moment/moment-node.d.ts" />
/// <reference path="toastr/toastr.d.ts" />
Hinzufügen der expliziten Version '1.4.1' in' tsd.json', funktioniert. Gutes Timing :-) –