NodeJS अंदर टाइपप्रति फ़ाइल की आवश्यकता होती है

वोट
60

मैं कैसे से नियमित NodeJS मॉड्यूल लोड करने के लिए सोच रहा हूँ node_modulesअंदर से निर्देशिका TypeScriptवर्ग।

जब मैं संकलन करने की कोशिश .tsफ़ाइल है कि:

var sampleModule = require('modulename');

संकलक मुझसे कहता है कि मैं इस दायरे में की आवश्यकता नहीं उपयोग कर सकते हैं। (कि लाइन फ़ाइल की शुरुआत में है)।

वहाँ एक रास्ता कैसे लोड करने के लिए और से उपयोग मॉड्यूल है node_modulesअंदर TypeScriptवर्ग?

05/10/2012 को 09:05
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
77

टाइपप्रति हमेशा शिकायत जब यह एक प्रतीक खोजने में असमर्थ है। संकलक के लिए डिफ़ॉल्ट परिभाषाओं का एक सेट के साथ एक साथ आता है window, documentऔर इस तरह के नाम से एक फ़ाइल में निर्दिष्ट lib.d.ts। अगर मैं के लिए एक ग्रेप कर requireइस फाइल में मैं एक समारोह का कोई परिभाषा पा सकते हैं require। इसलिए, हम संकलक खुद बताने के लिए है कि इस समारोह कार्यावधि में मौजूद का उपयोग कर देंगे declareवाक्य रचना:

declare function require(name:string);
var sampleModule = require('modulename');

अपने सिस्टम पर, यह ठीक संकलित करता है।

05/10/2012 को 09:26
का स्रोत उपयोगकर्ता

वोट
30

सही सिंटैक्स है:

import sampleModule = require('modulename');

या

import * as sampleModule from 'modulename';

फिर साथ अपने टाइपप्रति संकलन --module commonjs

पैकेज एक साथ नहीं आता है, तो index.d.tsफ़ाइल और यह package.jsonएक नहीं है "typings"संपत्ति, tscभौंकने होगा यह क्या पता नहीं है कि 'modulename'को दर्शाता है। इस उद्देश्य के लिए आप एक खोजने की जरूरत है .d.tsपर इसके लिए फ़ाइल http://definitelytyped.org/ , या एक अपने आप को लिखें।

आप भी चाहते हैं कि आप Node.js के लिए कोड लिखने रहे हैं, तो node.d.tsसे फ़ाइल http://definitelytyped.org/

03/02/2016 को 07:47
का स्रोत उपयोगकर्ता

वोट
16

सबसे अच्छा समाधान नोड के प्रकार परिभाषाएं की एक प्रति प्राप्त करने के लिए है। यह न केवल निर्भरता मुद्दों के सभी प्रकार का समाधान होगा, require()। यह पहले से की तरह पैकेज का इस्तेमाल किया गया था typings, लेकिन जैसा कि माइक चेम्बरलेन उल्लेख किया है, Typings पदावनत कर रहे हैं। आधुनिक तरीका यह है कि यह क्या कर रहा है:

npm install --save-dev @types/node

इतना ही नहीं यह संकलक त्रुटि को ठीक होगा, यह भी नोड एपीआई की परिभाषा अपने आईडीई के लिए जोड़ देगा।

18/10/2017 को 21:20
का स्रोत उपयोगकर्ता

वोट
4

टाइपप्रति से नोड फ़ंक्शन तक पहुंच typings का उपयोग करें:

typings install env~node --global

आप नहीं है, तो typings इसे स्थापित:

npm install typings --global
29/12/2016 को 09:42
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more