इस संक्षिप्त कुछ नोड मूल बातें शामिल हैं।
0. कोड व्यवस्थित करना। यह प्रोजेक्ट रूट में app.js
नामक फ़ाइल में अपना मुख्य नोड एप्लिकेशन कोड डालने का एक सम्मेलन है।
अंदर app.js बातें दो सामान्य भागों में बांटा जाता है:
- तुल्यकालिक initializations: मॉड्यूल की आवश्यकता होती है, निर्देशिका का निर्माण, कॉन्फ़िगरेशन, डाटाबेस कनेक्शन, आदि चीज़ें है कि ब्लॉक पढ़ा, तो वे मौजूद हैं या करना चाहिए जल्दी मर जाओ।
- असीमित ऐप कार्य: सर्वर, पृष्ठभूमि प्रक्रियाएं, स्वत: संकलन सीएसएस & जेएस, रूटिंग, आई/ओ इत्यादि शुरू करें। घटना लूप में मौजूद चीजें।
1. जब आप ऐप बनाते हैं तो सीएसएस को स्टाइलस संकलित करें। हमें stylus मॉड्यूल की आवश्यकता है। आम तौर पर यह निर्भरताओं को एक साथ रखने के लिए app.js के शीर्ष पर किया जाता है।
var stylus = require('stylus');
पहली बार है कि नोड चलाता app.js
, तो आप इस अपने सीएसएस निर्माण करने के लिए मॉड्यूल जे एस की जरूरत है। यह मूल विचार है:
stylus.render(stylus-code-string, function(err, css) {
if (err) throw err;
console.log(css);
});
यहां आधिकारिक Stylus Javascript API है।
नोड की शक्ति का उपयोग करने के लिए, आपको एक बफर में fs module का उपयोग करके एक स्टाइलस फ़ाइल पढ़नी चाहिए, फिर इसे एक स्ट्रिंग में परिवर्तित करें, और अंत में इसे stylus.render()
में पास कर दें। फिर, परिणाम को एक गंतव्य फ़ाइल में भेजें। चूंकि यह निर्माण प्रक्रिया का हिस्सा है, यह सिंक्रोनस हो सकता है। लेकिन यह वास्तव में आपका प्रश्न नहीं है ...
2. स्टाइलस के साथ पृष्ठभूमि प्रक्रिया के रूप में ऑटो-संकलन सीएसएस।
यह फ़ंक्शन child_process है कि एक ही .styl
फ़ाइल देखता है और एक .css
फ़ाइल में शामिल .styl
फ़ाइलों को संकलित करता spawns। इसके लिए आपको मॉड्यूल की आवश्यकता नहीं है, केवल स्टाइलस निष्पादन योग्य स्थापित करें ताकि यह कमांड लाइन पर चल सके। (आप पहले से ही यह कर चुके हैं)। यह उदाहरण स्टाइलस संस्करण 0.5.0 के साथ बनाया गया था। साथ ही, आपके द्वारा उपयोग किए जाने वाले फ़ोल्डर पथ (उदा। build/styles
और styles
) मौजूद होने की आवश्यकता है।
function watchStyles(sourcefile, destinationfolder) {
var Stylus = child_process.spawn('stylus', ['--sourcemap', '-w', sourcefile, '--out', destinationfolder]);
Stylus.stdout.pipe(process.stdout); // notifications: watching, compiled, generated.
Stylus.stderr.pipe(process.stdout); // warnings: ParseError.
Stylus.on('error', function(err) {
console.log("Stylus process("+Stylus.pid+") error: "+err);
console.log(err);
});
// Report unclean exit.
Stylus.on('close', function (code) {
if (code !== 0) {
console.log("Stylus process("+Stylus.pid+") exited with code " + code);
}
});
}
अगला, आपको अपना ऐप शुरू करने के कुछ समय बाद इस फ़ंक्शन को कॉल करने की आवश्यकता है। स्रोत के रूप में अपने मास्टर .styl
फ़ाइल में पास करें। फिर गंतव्य निर्देशिका जहां आप अपने सीएसएस को जाना चाहते हैं।
// check that you passed '-w' parameter
if (process.argv[2] && (process.argv[2] == "-w")) {
watchStyles('styles/app.styl', 'build/styles');
}
चलाकर एप्लिकेशन शुरू:
@import 'layout'
@import 'header'
@import 'main'
@import 'footer'
@import 'modal'
@import 'overrides'
ठीक है, वह हिस्सा जहां कहते है, क्या एप्लिकेशन विन्यास "तो फिर इस लाइन को अपने ऐप्लिकेशन के विन्यास में जोड़ें"। मेरे स्टाइलस फ़ाइल को संकलित करने के लिए मुझे केवल एक चीज node.js की आवश्यकता है। मेरे वास्तव में वेब एप्लिकेशन को node.js की आवश्यकता नहीं है और मैं अपने वेब एप्लिकेशन के लिए node.js शामिल नहीं करना चाहता हूं। – ryanzec
मेरे उत्तर को संपादित किया ... उम्मीद है कि यह और अधिक समझ में आता है ... – silverfighter