2016-06-20 6 views
8

मैं D3 आयात करने की कोशिश कर रहा हूं ताकि मैं इसे कोणीय 2 मॉड्यूल में उपयोग कर सकूं।कोणीय 2-बीज + टाइपिंग + डी 3: आयात त्रुटि, 'मॉड्यूल नहीं मिल सकता' d3 ''

कुछ पृष्ठभूमि जानकारी:

  • मैं टाइपप्रति में Angular2 लिख रहा हूँ।
  • मैं उपयोग कर रहा हूँ Angular2-seed

क्या मैंने किया:

  1. मैं NPM डी 3 पैकेज स्थापित:

    npm install d3 --save 
    
  2. मैं डी 3 प्रकार Typings का उपयोग कर वर्णन स्थापित है, कि के रूप में क्या Angular2-Seed उन पुस्तकालयों के लिए उपयोग करता है जो इसे पहले से इंस्टॉल कर चुके हैं।

    typings install d3 --save 
    
  3. फिर, मेरी Angular2 मॉड्यूल फ़ाइल में, मैं इंपोर्ट स्टेटमेंट

    import * as d3 from 'd3'; 
    
    जोड़ा

नतीजा यह है कि टीएससी मुझे त्रुटि संदेश "मॉड्यूल 'डी 3' नहीं मिला दे रहा है है "। मुझे क्या याद आ रही है या गलत कर रहा है?

+0

क्या आप [यहां] से पैकेज डाउनलोड करने का प्रयास कर सकते हैं (https: //www.npmjs।कॉम/पैकेज/एनजी 2-एनवीडी 3) –

+0

मैंने इसे स्थापित किया है, अलग-अलग बारचार्ट डेमो सेट अप किया है, लेकिन ब्राउज़र में कोई त्रुटि नहीं होने के बावजूद यह ब्राउज़र में बिल्कुल दिखाई नहीं देता है, कोई कंपाइलर त्रुटियां नहीं हैं। लेकिन इससे पहले कि मैं काम करने के लिए एनजी 2-एनवीडी 3 प्राप्त करने में और अधिक समय निवेश करने जा रहा हूं, मैं बेहतर रुक जाऊंगा: एनवीडी 3 मेरे लिए ज्यादा उपयोग नहीं करेगा क्योंकि मुझे अत्यधिक कस्टम विज़ुअलाइजेशन बनाने की आवश्यकता है। – Devaro

उत्तर

3

तो package.json में आप पहले से ही की तरह के लिए एक निर्भरता है, तो:

"dependencies": { 
    ... 
    "d3": "^3.5.17", 
    ... 
} 

आप तो /tools/config/seed.config.ts और जोड़ने में जा सकते हैं 'डी 3': '$ {this.NPM_BASE} d3/d3.min.js'SYSTEM_CONFIG_DEV वस्तु में, जैसे:

protected SYSTEM_CONFIG_DEV: any = { 
    defaultJSExtensions: true, 
    packageConfigPaths: [ 
     `${this.NPM_BASE}*/package.json`, 
     `${this.NPM_BASE}**/package.json`, 
     `${this.NPM_BASE}@angular/*/package.json` 
    ], 
    paths: { 
     [this.BOOTSTRAP_MODULE]: `${this.APP_BASE}${this.BOOTSTRAP_MODULE}`, 
     '@angular/core': `${this.NPM_BASE}@angular/core/bundles/core.umd.js`, 
     '@angular/common': `${this.NPM_BASE}@angular/common/bundles/common.umd.js`, 
     '@angular/compiler': `${this.NPM_BASE}@angular/compiler/bundles/compiler.umd.js`, 
     '@angular/forms': `${this.NPM_BASE}@angular/forms/bundles/forms.umd.js`, 
     '@angular/http': `${this.NPM_BASE}@angular/http/bundles/http.umd.js`, 
     '@angular/router': `${this.NPM_BASE}@angular/router/index.js`, 
     '@angular/platform-browser': `${this.NPM_BASE}@angular/platform-browser/bundles/platform-browser.umd.js`, 
     '@angular/platform-browser-dynamic': `${this.NPM_BASE}@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js`, 
     'rxjs/*': `${this.NPM_BASE}rxjs/*`, 
     'd3': '${this.NPM_BASE}d3/d3.min.js', 
     'app/*': `/app/*`, 
     '*': `${this.NPM_BASE}*` 
    }, 
    packages: { 
     rxjs: { defaultExtension: false } 
    } 

अगर यह मदद करता है तो मुझे बताएं। धन्यवाद!

+0

धन्यवाद, यह वही था जो गायब था। इससे पहले कि मैंने [Angular2-Seed] (https://github.com/mgechev/angular2-seed) का उपयोग किया था, System.config() के लिए पथ और/या पैकेज चर का संपादन करना अधिकांश पुस्तकालयों को जोड़ने में एक आम कदम था, लेकिन मैंने ' टी ने अभी तक इस बीज में समकक्ष चीज़ को कैसे सीखा है। – Devaro

+0

अंतिम कोणीय 2 की पहली रिलीज के साथ, systemjs.js के अतिरिक्त उस फ़ोल्डर को होना चाहिए जिसमें d3.js स्थापित है। इसे स्पष्ट करने के लिए, आपको यह इंगित करना होगा कि आपने डी 3 डाउनलोड किया था, मेरा था सेटिंग फ़ाइल के समान फ़ोल्डर, डी 3 के सबफ़ोल्डर में, इसलिए पंक्ति इस तरह दिखती है। 'd3': './d3/d3.min.js' मेरे मामले में यह मानचित्र में अंतिम पंक्ति है: वस्तु। स्पष्टीकरण के लिए धन्यवाद। –

1

मेरे पास एक ही समस्या थी, और उपर्युक्त उत्तर ने मेरे सॉल्यूशन को डीबग करने में मदद की - जिसमें यह पहचाना गया कि यह एक कॉन्फ़िगरेशन समस्या थी, हालांकि [email protected] का उपयोग करके मुझे {रूट} /e2e/tscconfig.json अपडेट करना पड़ा (द्वारा जोड़ने:

 "types": [ 
     "d3" 
    ] 

इस प्रकार है:

{ 
    "compileOnSave": false, 
    "compilerOptions": { 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc-e2e", 
    "sourceMap": true, 
    "target": "es5", 
    "typeRoots": [ 
     "../node_modules/@types" 
    ], 
    "types": [ 
     "d3" 
    ] 
    } 
} 

ध्यान रखें {जड़} में एक tscconfig.json है कि वहाँ/src/साथ ही मैं इस में अद्यतन और मैं अभी भी एक था। निर्भरता मुद्दे के साथ:

त्रुटि के माध्यम से

मेरे घटक में। उम्मीद है कि यह कम से कम एक व्यक्ति की मदद करता है!

+0

Thanx जो मेरे लिए काम किया –

+0

अप-वोट के लिए धन्यवाद। मैंने टाइपिंग के लिए आरएफसी को डी 3 के लिए अपनी टाइपिंग अपडेट करने के लिए खोला, मुझे एक प्रतिक्रिया मिली और मैंने अपने परिवर्तन जमा किए, जिन्हें उन्होंने स्वीकार किया - लेकिन मैंने कभी भी टेस्ट फ़ाइल नहीं बनाई थी .... इसलिए मुझे यकीन नहीं है कि यह अपडेट किया गया है या नहीं। –

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