2017-01-28 15 views
6

यह त्रुटि this questionलेखन त्रुटि: अपरिभाषित संपत्ति की 'substr' पढ़ा नहीं जा सकता - स्रोत-Node.js

को हल करने यहाँ का एक परिणाम के रूप में आता है मेरी ionic info है:

Cordova CLI: 6.5.0 
Ionic Framework Version: 2.0.0 
Ionic CLI Version: 2.2.1 
Ionic App Lib Version: 2.2.0 
Ionic App Scripts Version: 1.0.0 
ios-deploy version: Not installed 
ios-sim version: Not installed 
OS: Windows 10 
Node Version: v7.4.0 
Xcode version: Not installed 

(मैं भी उपयोग कर रहा हूँ NPM v4.1.1)

जब @ionic/app-scripts बनाने का प्रयास, मैं निम्न त्रुटि हो रही है:

E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-node.js:95 
     var code = nextLine.substr(0, mapping.generatedColumn - 
         ^

TypeError: Cannot read property 'substr' of undefined 
    at Function.<anonymous> (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-node.js:95:30) 
    at Array.forEach (native) 
    at BasicSourceMapConsumer.SourceMapConsumer_eachMapping [as eachMapping] (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-map-consumer.js:155:14) 
    at Function.SourceNode_fromStringWithSourceMap [as fromStringWithSourceMap] (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\node_modules\source-map\lib\source-node.js:80:24) 
    at SourceMapSource.node (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\lib\SourceMapSource.js:42:20) 
    at ReplaceSource.node (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\lib\ReplaceSource.js:69:29) 
    at CachedSource.node (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\lib\CachedSource.js:12:23) 
    at E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\lib\ConcatSource.js:40:49 
    at Array.map (native) 
    at ConcatSource.node (E:\Documents\Year_3\Mobile_Application_Development\mammoth-v2\node_modules\webpack-sources\lib\ConcatSource.js:39:60) 

यदि आवश्यक हो, जब मैं चलाने npm run build(निर्माण करने के लिए @ionic/app-scripts), इस बिल्ड लॉग है:

[07:28:45] ionic-app-scripts 1.0.0 
[07:28:45] build dev started ... 
[07:28:45] clean started ... 
[07:28:45] clean finished in 4 ms 
[07:28:45] copy started ... 
[07:28:45] transpile started ... 
[07:28:49] transpile finished in 4.44 s 
[07:28:49] webpack started ... 
[07:28:49] copy finished in 4.57 s 

      **errors arise here** 

संपादित करें:

मैं विन्यास कहा:

"config": { 
    "ionic_generate_source_map": false 
}, 

... packages.json जो लग रहा था त्रुटि को ठीक है, लेकिन अब के साथ एक और एक का सामना करना पड़ा रहा हूँ:

Error: ENOENT: no such file or directory, open 'main.js.map'

कौन सा फेंक दिया जाता है जब मैं करने का प्रयास ionic serve(@ionic/app-scripts कार्यों के निर्माण अभी ठीक)

संपादित करें # 2:

ionic चलाने के लिए एक स्रोत मानचित्र पर भरोसा करते हैं?

"config": { 
    "ionic_generate_source_map": false 
}, 

... packages.json को जो त्रुटि को ठीक लग रहा था: क्योंकि गैर

+0

अन्य सवाल आप न 'है package.json में sw-toolbox' में देखा .. एप्लिकेशन लिपियों के 1.0.0 संस्करण की तरह लगता है कि पर निर्भर करता है .. यकीन नहीं अगर यह सही कारण –

+1

यह है सटीक मुद्दा नहीं। यह वेबपैक स्रोत मानचित्रों के साथ एक बग है जो घटकों को विस्तारित करते समय भी मुझे सामना करना पड़ा। शायद आप 2.0.9 के बजाय टाइपस्क्रिप्ट 2.1.5 का उपयोग कर रहे हैं? मैंने सचमुच इस फ़ाइल को node_modules में जाकर और एक डिफ़ॉल्ट मान जोड़कर इसे ठीक किया है, इसलिए यह अपरिभाषित नहीं होगा। – misha130

+0

यदि आप package.json में स्रोत मानचित्र को रद्द करते हैं तो आप इस बग से भी बच सकते हैं। मुझे खेद है कि मेरे पास एक निश्चित उत्तर नहीं है – misha130

उत्तर

8

यह त्रुटि आता है एक ts फ़ाइल में दो 2 वर्गों/घटकों होने से वर्णन किया है।

इसे ठीक करने का एक क्रूर तरीका।

node_modules \ webpack-sources \ node_modules \ source-map \ lib \ source-map \ source-node पर जा रहा है।js

और आदान प्रदान सभी 2 बार इस प्रकट होता है:

var nextLine = remainingLines[0]; 
इस समाधान के साथ इस

var nextLine = remainingLines[0] || ''; 

समस्या का

जाती है कि आप यह संस्करण नियंत्रण में नहीं रख सकते हैं के बाद से इस नोड मॉड्यूल

है
+0

हम्म यह काम करता है। हालांकि, जैसा कि आपने बताया है, यह सबसे अच्छा समाधान नहीं है क्योंकि मैं इसे वीसीएस पर धक्का नहीं दे सकता। क्या इस मुद्दे को आयनिक के साथ उठाना उचित है? मैं इस जवाब को स्वीकार करूंगा क्योंकि इस मुद्दे को हल किया गया है – wmash

+0

मुझे ऐसा लगता है। यह कोणीय या वेबपैक के साथ आयनिक से अधिक होने की संभावना हो सकती है। – misha130

+1

यह काम नहीं करता है यदि आपका डिफ़ॉल्ट ब्राउज़र मोज़िला है ... पहले अपना डिफ़ॉल्ट ब्राउज़र क्रोम के रूप में सेट करें और फिर यह काम करता है .. अगर यह किसी की मदद कर सकता है .. उत्तर के लिए धन्यवाद – Aniket

2

निर्माण कर रहे हैं के रूप में त्रुटि उत्पन्न होने वाली है मैं विन्यास गयी।

संपादित में ऊपर, मैं अब एक और त्रुटि मैं का सामना कर रहा हूँ

2

जिस तरह से मैं इस समस्या को हल करता हूं, पैकेज.जेसन में यह कॉन्फ़िगरेशन विकल्प जोड़ रहा था:

"config": { 
    "ionic_source_map_type": "eval" 
} 
संबंधित मुद्दे