के बाद नामस्थान NodeJS नहीं मिल रहा है मेरे पास WebPack के साथ बनाया गया Angular2 एप्लिकेशन है। मैंने वेबपैक को v1.8 से v2 तक अपग्रेड किया, और सब कुछ ठीक काम कर रहा है।वेबपैक अपग्रेड
import Timer = NodeJS.Timer;
....
apptInterval: Timer;
....
this.apptInterval = setInterval(() => { ... }, 1000);
उन्नयन इस मुझे एक त्रुटि देता है के बाद: TS2503: Cannot find namespace 'NodeJS'.
tsconfig.json इस तरह दिखता है:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": ["es2015", "dom"],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
डॉक्स के लिए केवल एक समस्या यह पुराने कोड निम्नलिखित है कि कोणीय/वेबपैक में अब typings.json
नहीं है; हालांकि, अगर मैं वेबपैक 1 निर्देशिका से कॉपी करता हूं, तो यह मदद नहीं करता है। सामग्री typings.json
{
"globalDependencies": {
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
"node": "registry:dt/node"
}
}
दिलचस्प है कि अगर मैं NodeJS के संदर्भ निकालें, सब कुछ ठीक काम करता है है। इस तरह:
apptInterval: any;
....
this.apptInterval = setInterval(() => { ... }, 1000);
अगर मैं F12 डिबगर के तहत देखो, apptInterval के प्रकार ZoneTask
है। मुझे यकीन है कि इसे मजबूत टाइप करने का एक तरीका है, लेकिन यह मुझसे बच निकला है। केवल सुझाव मैंने पाया typings install dt~node --global --save-dev
चलाने के लिए (जो अनिवार्य रूप से typings.json अद्यतन करता था, लेकिन मदद नहीं करता है
दुर्भाग्यवश, न तो विकल्प ने कोई फर्क नहीं पड़ता। – Felix
अपना कोड VSCode में खोलें, और देखें कि intelliSense में 'NodeJS' मौजूद है या नहीं। यह होना चाहिए कि आपके पास चीजें सेटअप की कमी है। – unional