2015-05-09 13 views
11

मैं ग्राहक के पक्ष bundling के लिए webpack का उपयोग करें और नोड/NPM पुस्तकालय के निर्माण के लिए इसका उपयोग करना चाहते को लक्षित कोड बंडल करने। मैंने देखा कि मैं इस लक्ष्य को node के रूप में निर्दिष्ट कर सकता हूं। doc,webpack Node.js

"node" Compile for usage in a node.js-like environment (use require to load chunks) 

लेकिन से समस्या react.js संकलन उत्पादन में बंडल किया है। मैं केवल अपनी स्रोत फाइलों और package.json में सूचीबद्ध किसी भी निर्भरता को शामिल करना चाहता हूं। मैंने ऐसा उल्लेख किया peerDependency के रूप में प्रतिक्रिया,

"peerDependencies": { 
    "react": ">=0.13", 
    "react-tap-event-plugin": ">=0.1.3" 
    }, 

मैं भी परिभाषित कोशिश externals में प्रतिक्रिया यह सिर्फ प्रतीक बना सकते हैं और न ही पुस्तकालय शामिल हो सकते हैं उम्मीद की तरह है, लेकिन यह अभी भी संकलित उत्पादन में react भी शामिल है।

target: "node", 
    externals: [{ 
     'react' : 'React', 
    }] 

हां, तो वहाँ webpack उपयोग करने के लिए सर्वर साइड/नोड कोड द्वारा समूहबद्ध करने का तरीका है, लेकिन यह भी निर्भरता (जो peerDependencies या devDependencies रूप में परिभाषित किया जा सकता है) के कुछ बंडल के लिए नहीं निर्दिष्ट करने के लिए?

+1

आप में 'webpack.config.js' जोड़ें' लक्ष्य: 'नोड''। –

उत्तर

15

जेम्स ने इस पर 3 भाग श्रृंखला लिखी थी।

http://jlongster.com/Backend-Apps-with-Webpack--Part-I

अपने कोड के बाद, externals

{ 'babel-core': 'commonjs babel-core', 
    'babel-loader': 'commonjs babel-loader', 
    classnames: 'commonjs classnames', 
    react: 'commonjs react', 
... 
} 

जो महान काम किया के रूप में स्थापित किया गया था।

+1

अब यह आवश्यक नहीं है। जैसा कि @ rubens-mariuzzo द्वारा उल्लिखित है, आपके webpack.config.js में एक सरल "लक्ष्य: 'नोड'" चाल करना चाहिए। –

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