2015-10-05 9 views
8

मेरे पास योनन गल्प टाइपस्क्रिप्ट जनरेटर का उपयोग करके उत्पन्न एक कोणीय अनुप्रयोग है।गल्प टाइपस्क्रिप्ट त्रुटि फेंकता है TS2300: डुप्लिकेट पहचानकर्ता 'पल'

.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'. 

संदर्भ के लिए नीचे फ़ाइलों की सामग्री नीचे देखें:

अचानक निर्माण टाइपप्रति के दौरान किसी भी स्पष्ट कारण (परियोजना में परिवर्तन) के बिना फेंक त्रुटियों शुरू कर दिया। मैंने डीएसटी फाइलों और tsd.d.ts फ़ाइल को ओवरराइड करने से रोकने के लिए gulp script कार्य से 'tsd: install' हटा दिया। फिर समस्या को ठीक करने के लिए tsd.d.ts को संशोधित करने का प्रयास किया (मैंने पल-नोड, पल, ऑर्डर बदलने की कोशिश की, मैंने moment.d.ts और moment-node.d.ts को संपादित करने का भी प्रयास किया, कुछ भी काम नहीं किया: /) ।

मेरे tsd.json फ़ाइल:

{ 
    "version": "v4", 
    "repo": "borisyankov/DefinitelyTyped", 
    "ref": "master", 
    "path": ".tmp/typings", 
    "bundle": ".tmp/typings/tsd.d.ts" 
} 

मेरे script.js (घूंट 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()) 
}); 

जनरेट किया 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" /> 

उत्तर

6

आप इंगित करते हैं रेफरी के लिए "मास्टर" के बजाय 1.4.1 जैसे विशिष्ट संस्करण के लिए: - मुझे लगता है कि यह आपके लिए इसे ठीक करेगा। यह मेरे लिए काम करता है।

{ 
    "version": "v4", 
    "repo": "borisyankov/DefinitelyTyped", 
    "ref": "1.4.1", 
    "path": ".tmp/typings", 
    "bundle": ".tmp/typings/tsd.d.ts" 
} 
+0

'tsd.json' में स्पष्ट संस्करण' 1.4.1' जोड़कर काम किया। अच्छा समय :-) –

1

त्रुटि संदेश भ्रामक है। मेरा मानना ​​है कि संरेखण त्रुटि का यह वास्तविक कारण टाइपस्क्रिप्ट सुविधा का उपयोग कर पल के लिए टाइप परिभाषा फ़ाइल के कारण है जो आपका वर्तमान संस्करण समर्थित नहीं है। गल्प-टाइपस्क्रिप्ट का नवीनतम संस्करण प्राप्त करने के लिए निम्न चलाएं और फिर मुझे लगता है कि आपके टीएसडी फ़ाइल को एक विशिष्ट संशोधन में प्रतिबंधित किए बिना सबकुछ आपके लिए काम करेगा। इसे एक विशिष्ट संशोधन में प्रतिबंधित करने के अपने स्वयं के मुद्दे होंगे।

npm install [email protected] --save-dev 
0

kendo all.d.ts को हटाएं और फिर wwwroot में अपनी वेबसाइट का पुनर्निर्माण करें। यह मेरे लिए काम करता है

संबंधित मुद्दे