2016-05-07 13 views
5

Node.js मॉड्यूल वाक्य रचना के साथ आप एक मॉड्यूल लोड और एक अभिव्यक्ति में यह सब का उपयोग कर सकते हैं:लोड और एक अभिव्यक्ति में एक ES6 मॉड्यूल का उपयोग

const numCPUs = require('os').cpus().length; 

वहाँ ES6 मॉड्यूल के लिए किसी भी बराबर है?

import os from 'os'; 
const numCPUs = os.cpus().length; 

निकटतम मुझे मिल सकता है; यह दो पूर्ण बयान है, और मुझे os के लिए अवांछित बाध्यकारी के साथ छोड़ देता है।

+0

मूल रूप से [ES6 मॉड्यूल आयात करने के लिए पास विकल्प] का डुप्लिकेट (http://stackoverflow.com/q/2 9 2 9 3879/218196) –

उत्तर

7

नहीं। मॉड्यूल के लिए बाइंडिंग स्थिर रूप से होती है जब फ़ाइल का विश्लेषण किया जाता है, और इसे निष्पादित करने से पहले। आप जो करने का प्रयास कर रहे हैं उसे प्राप्त करने का एकमात्र तरीका named export का उपयोग करना है।

export const numCPUs = os.cpus().length; 

जो तुम अपने कार्यक्रम के प्रवेश बिंदु में नामित निर्यात निर्दिष्ट करने के लिए अनुमति देगा:

import { numCPUs } from 'os'; 
+0

हमें 'निर्यात कॉन्स numCPUs = os.cpus() लंबाई रखना है;' दूसरी फ़ाइल में फिर से आयात करें, है ना? – JagsSparrow

+1

हां। यदि प्रोग्राम के समाप्त होने के बाद तक आपको निष्पादन को स्थगित करने की आवश्यकता है, तो आप इसे एक वादा वापस कर सकते हैं, या उस फ़ंक्शन को निर्यात कर सकते हैं जो इसके बजाय मूल्य प्रदान करता है। – Alhadis

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