मेरे बालों को खींचकर सरल कोड को साझा करने के लिए समाधान, एनपीएम के माध्यम से, कई ब्राउज़र या वेबपैक बंडलों में आवश्यक है। सोच रहा है, क्या फाइल "ब्रिज" जैसी चीज है?एकाधिक ब्राउज़र या वेबपैक बंडलों में एनपीएम के माध्यम से लोड मॉड्यूल साझा करने के लिए सरल समाधान
यह संकलन समय (मुझे देखने के बारे में पता है) के कारण नहीं है बल्कि मेरे सभी विक्रेता विशिष्ट libs को vendor.js
में निकालने की इच्छा है ताकि मेरा app.js
फाइलसाइज डाउन हो और ब्राउज़र को बड़े पैमाने पर क्रैश न किया जा सके sourcemaps। इसके अलावा, मुझे लगता है कि संकलित जेएस उत्पन्न करने की आवश्यकता को क्लीनर चाहिए। और हां:
// vendor.js
require('react');
require('lodash');
require('other-npm-module');
require('another-npm-module');
इसकी बहुत महत्वपूर्ण है कि कोड NPM से के रूप में करने का विरोध किया बोवर, या क्रम में कुछ 'विक्रेता' निर्देशिका में बचाया एक रिश्तेदार पथ के माध्यम से आयात किया है और पहचान होने की एक परत के माध्यम से लोड किया जा। मैं अपने वास्तविक अनुप्रयोग स्रोत को छोड़कर एनपीएम के माध्यम से हर लाइब्रेरी संदर्भ खींचना चाहता हूं।
app.js
में मैं अपने sourcecode के सभी रखने के लिए, और externals
सरणी के माध्यम से, बाहर संकलन से ऊपर सूचीबद्ध विक्रेता पुस्तकालयों:
// app.js
var React = require('react');
var _ = require('lodash');
var Component = React.createClass()
// ...
और फिर index.html
में, मैं की आवश्यकता होती है दोनों फ़ाइलों
// index.html
<script src='vendor.js'></script>
<script src='app.js'></script>
ब्राउज़र या वेबपैक का उपयोग करके, मैं इसे कैसे बना सकता हूं ताकि app.js
एनपीएम के माध्यम से लोड किए गए मॉड्यूल में "देख" सकें? मुझे बाहरी के साथ एक बंडल बनाने और फिर एक उपनाम के माध्यम से सीधे फ़ाइल (संदर्भ में, node_modules
) का संदर्भ देने के बारे में पता है, लेकिन मैं एक ऐसे समाधान को ढूंढने की उम्मीद कर रहा हूं जो अधिक स्वचालित और कम "Requ.js" जैसा है।
असल में, मुझे आश्चर्य है कि दोनों को पुल करना संभव है ताकि app.js
निर्भरता को हल करने के लिए vendor.js
के अंदर देख सकें। यह एक सरल, सीधा ऑपरेशन जैसा प्रतीत होता है लेकिन मुझे इस चौड़े, व्यापक वेब पर कहीं भी जवाब नहीं मिल रहा है।
धन्यवाद!
मैं प्रतिक्रिया यह मानें कि विक्रेता सरणी में भी चला जाता है? – Leahcim
क्या आप उस सरणी में विक्रेता फ़ाइल का नाम शामिल कर रहे हैं, या इसे इसके लिए पथ होना चाहिए? – Leahcim
मैं प्रोजेक्ट्स के बीच साझा करने वाले घटकों की अपनी अलग लाइब्रेरी के लिए एक अलग बंडल या हिस्सा नहीं बनाना चाहता हूं, मैं सिर्फ स्रोत फ़ाइलों की आवश्यकता नहीं चाहता हूं। क्या आपको ऐसा करने का कोई तरीका पता है? (पूर्ण प्रश्न: http://stackoverflow.com/questions/31820641/how-to-set-up-a-private-shared-library-of-react-components-with-webpack) – Andy