2015-07-08 9 views
13

मैंने हाल ही में विजुअल स्टूडियो कोड 0.5.0 में अपग्रेड किया है और कुछ नई त्रुटियां सामने आई हैं जो पहले नहीं थीं।कार्य निर्यात करते समय वीएससीओडी में: "व्यक्तिगत घोषणाएं सभी निर्यात की जानी चाहिए या सभी स्थानीय"

मेरे पास स्थानीय रूप से घोषित किए जाने वाले कार्यों का एक समूह है और फिर निर्यात किया जाता है। अपग्रेड के बाद से, स्थानीय फ़ंक्शन नामों में से प्रत्येक पर होवरिंग त्रुटि विलय घोषित घोषणा में व्यक्तिगत घोषणा फ़ंक्शननाम सभी निर्यात या सभी स्थानीय होना चाहिए।

यह एक उदाहरण स्थानीय समारोह है जिसे निर्यात किया जाता है।

var testParamsCreatorUpdater = function (lTestParams, creatorID){ 
    lTestParams.creator = creatorID; 
    return lTestParams; 
}; 
module.exports.testParamsCreatorUpdater = testParamsCreatorUpdater; 

मुझे पता है मैं करने के लिए इसे बदल सकते हैं ...

module.exports.testParamsCreatorUpdater = function (lTestParams, creatorID){ 
    lTestParams.creator = creatorID; 
    return lTestParams; 
}; 

और module.exports पहले जोड़ें। प्रत्येक testParamsCreatorUpdater() कॉल पर।

लेकिन पहला स्निपेट गलत क्यों है? जैसा कि मैं इसे समझता हूं,() की आवश्यकता होती है() मॉड्यूल.एक्सपोर्ट ऑब्जेक्ट में सब कुछ जो भी आवश्यक हो, उपलब्ध कराता है।

उत्तर

1

मुझे लगता है कि यह टाइपस्क्रिप्ट ref के लिए विलय की घोषणा की सुविधा से संबंधित है। मैंने टाइपस्क्रिप्ट के लिए विस्तृत शोध नहीं किया है, लेकिन ऐसा लगता है कि इसमें जावास्क्रिप्ट को टाइपस्क्रिप्ट फ़ाइल में शामिल किया जा सकता है।

मुझे लगता है कि जावास्क्रिप्ट में testParamsCreatorUpdater घोषित किया गया था VSCode द्वारा त्रुटि होने का पता चला क्योंकि ऐसा लगता है कि दो घोषणाओं को विलय नहीं किया जा सकता है।

+0

इस पर कोई अपडेट? मुझे इस त्रुटि को वीएस2017 अपडेट 3 डब्ल्यू में एक मॉड्यूल भी मिल रहा है जो 3 इंटरफेस घोषित करता है। – alexb

0

मैं एक जावास्क्रिप्ट स्तर पर लगता है कि यह अंतर नहीं कर सकते हैं के बीच:

var testParamsCreatorUpdater = ... 

और

module.exports.testParamsCreatorUpdater = ... 

के रूप में नाम समान हैं। मैं टाइपप्रति में (मुझे इस पोस्ट के लिए अग्रणी) ठीक उसी त्रुटि मिली जब मैं इस की कोशिश की:

import { AuditService } from '../services/audit.service'; 
import { Audit } from '../models/audit.model'; 

@Component({ 
    selector: 'audit', 
    templateUrl: './audit.component.html', 
}) 
export class Audit { 
    constructor(private auditService: AuditService) { 
    } 
} 

तो टाइपप्रति पसंद नहीं आया कि मैं एक मॉड्यूल लेखा परीक्षा बुलाया आयातित और एक वर्ग भी लेखा परीक्षा बुलाया निर्यात

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