2015-03-05 3 views
8

जब मैं css प्लगइन स्थापित है, तो निम्न आदेश का उपयोग:जेएसपीएम प्लगइन्स स्थापित करते समय config.js पर निर्भरताओं को जोड़ने से कैसे बचें?

jspm install css 

निम्नलिखित मेरी config.js में जोड़ा जाता है:

System.config({ 
    "map": { 
    "css": "github:systemjs/[email protected]", 
    "github:jspm/[email protected]": { 
     "assert": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "buffer": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "events-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "Base64": "npm:[email protected]", 
     "events": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "stream": "github:jspm/[email protected]", 
     "url": "github:jspm/[email protected]", 
     "util": "github:jspm/[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "https-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "os-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "path-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "process": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "stream-browserify": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "url": "npm:[email protected]" 
    }, 
    "github:jspm/[email protected]": { 
     "util": "npm:[email protected]" 
    }, 
    "github:systemjs/[email protected]": { 
     "clean-css": "npm:[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "fs": "github:jspm/[email protected]", 
     "module": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "util": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "base64-js": "npm:[email protected]", 
     "ieee754": "npm:[email protected]", 
     "is-array": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "commander": "npm:[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "http": "github:jspm/[email protected]", 
     "https": "github:jspm/[email protected]", 
     "os": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]", 
     "source-map": "npm:[email protected]", 
     "url": "github:jspm/[email protected]", 
     "util": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "child_process": "github:jspm/[email protected]", 
     "events": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "http": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "util": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "os": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]", 
     "core-util-is": "npm:[email protected]", 
     "events": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "isarray": "npm:[email protected]", 
     "process": "github:jspm/[email protected]", 
     "stream": "npm:[email protected]", 
     "string_decoder": "npm:[email protected]", 
     "util": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "amdefine": "npm:[email protected]", 
     "fs": "github:jspm/[email protected]", 
     "path": "github:jspm/[email protected]", 
     "process": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "events": "github:jspm/[email protected]", 
     "inherits": "npm:[email protected]", 
     "readable-stream": "npm:[email protected]" 
    }, 
    "npm:[email protected]": { 
     "buffer": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "assert": "github:jspm/[email protected]", 
     "punycode": "npm:[email protected]", 
     "querystring": "npm:[email protected]", 
     "util": "github:jspm/[email protected]" 
    }, 
    "npm:[email protected]": { 
     "inherits": "npm:[email protected]", 
     "process": "github:jspm/[email protected]" 
    } 
    } 
}); 

मैं अपने config.js सुथरा क्रम में करने के लिए रख सकते हैं मेरे सभी पृष्ठों में यह सारी जानकारी शामिल करने से बचें (क्योंकि config.js को प्रत्येक पृष्ठ में शामिल करने की आवश्यकता है)?

+1

यहां तक ​​कि config.js में घोषित कई निर्भरताएं भी नहीं हैं इसका मतलब यह नहीं है कि ये सभी एप्लिकेशन द्वारा लोड किए जाएंगे। System.js केवल आपके द्वारा आयात की जाने वाली निर्भरताओं को लोड करेगा (या आवश्यकता())। –

+0

धन्यवाद @AdrianMitev। मुझे पता है कि, मैं बस प्रत्येक पृष्ठ में 15-20kb (पुस्तकालयों की निर्भरता) का उपयोग करने से बचने की कोशिश कर रहा हूं –

+0

उचित कैश हेडर जोड़ें ताकि ब्राउजर इसे प्रत्येक पृष्ठ पर लोड नहीं करेगा। –

उत्तर

7

मैं भी JSPM के लिए नया हूँ और बड़े config.js आकार के बारे में एक ऐसी ही प्रतिक्रिया थी, लेकिन यहाँ कुछ चीजें मैंने सीखा है है:

1) मैं नोड मॉड्यूल के लिए JSPM का उपयोग नहीं होता है कि आप केवल सर्वर साइड/विकास मशीन पर उपयोग करना चाहते हैं। आप बस उन लोगों के लिए एनपीएम का उपयोग जारी रख सकते हैं। मैंने यह गलती की - यह सोचकर कि मुझे सभी निर्भरताओं के लिए जेएसपीएम का उपयोग करना चाहिए, बोवर और एनपीएम दोनों को बदलना। मैंने जेएसपीएम के माध्यम से gulp स्थापित किया और मेरी config.js अचानक 700 लाइनों से अधिक लंबी थी!

2) मुझे आश्चर्य हुआ कि क्या इसे शीर्ष स्तर की निर्भरताओं को रिकॉर्ड करने के लिए कॉन्फ़िगर करना संभव था - जैसे पैकेज.जेसन - निर्भरताओं की सभी निर्भरता नहीं ... यह ऐसा नहीं लगता है। मैंने Gitter group में पूछा और प्रतिक्रिया थी: "जितना बड़ा है, यह आपको सहकर्मी निर्भरताओं पर नियंत्रण देता है जो आपके पास एनपीएम में नहीं है"। (धन्यवाद Mitranim)।

3) यदि आप require.js से परिचित हैं, तो आप अपने config.js को अपने require.config(...) की तरह थोड़ा सोच सकते हैं। चीजों में से एक यह है कि आप अपने मॉड्यूल को शामिल करने के लिए अपने छोटे नाम स्थापित कर सकते हैं। एक पूर्व requ.js उपयोगकर्ता के रूप में, मैंने स्वीकार किया कि मुझे प्रवेश की स्थिति के रूप में फ्रंट-एंड पर मेरी requ.js कॉन्फ़िगरेशन फ़ाइल शामिल करने की आवश्यकता है, और इसके लिए config.js के लिए - कम से कम, विकास के लिए ...

4) उत्पादन एक और मामला है। Guy Bedford on the Gitter group उद्धरण: "कॉन्फ़िगरेशन फ़ाइल को उत्पादन \ वर्कफ़्लोज़ में शामिल करने के लिए नहीं है जो" "विकसित होगा। प्रारंभ करने वाली मार्गदर्शिका में "Bundle for production" section में और जानकारी है।

5) मुझे एक उपयोगी प्रारंभिक बिंदु Jack Franklin का demo from Async Brighton मिला है। विशेष रूप से नोट: उसके पास उत्पादन के लिए एक बंडल वर्कफ़्लो है जो स्क्रिप्ट को स्विच करता है, केवल app.min.js को इंगित करने के लिए - Makefile देखें।

+0

मैंने केवल सीएसएस, jquery, और semantic-UI स्थापित किया है, और मेरी फ़ाइल में पहले से ही 1,743 लाइनें हैं। – darkangel

+0

क्या आपने 'semantic-ui' के लिए npm मॉड्यूल स्थापित किया था? इससे अन्य नोड मॉड्यूल जैसे गुल और सभी प्रकार के गुच्छा में खींच जाएगा ... आप केवल क्लाइंट-साइड पर अपने निर्मित सीएसएस और जेएस चाहते हैं? इस तरह स्थापित करने के बारे में: jspm semantic-ui = github इंस्टॉल करें: अर्थात्-संगठन/अर्थात्-UI (वह गिटब रेपो है जो बोवर पैकेज को संदर्भित करता है) – poshaughnessy

+0

अगर कोई इसे JSPM रजिस्ट्री में जोड़ना था (https: // GitHub।कॉम/जेएसपीएम/रजिस्ट्री) अगली बार जब आप केवल 'jspm इंस्टॉल करें semantic-ui' – poshaughnessy

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