2013-03-31 4 views
5

मैं अपने सभी प्लग विलय करने के लिए तो मैं इस से बदल सकते हैं कोशिश कर रहा हूँ:जेएस फाइलों को व्यवस्थित और मर्ज करें, Google क्लोजर?

<html> 
    <head> 
    </head> 
    <body>  
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <script src="js/plugin1.js"></script> 
     <script src="js/plugin2.js"></script> 
     <script src="js/plugin3.js"></script> 
     <script src="js/plugin4.js"></script> 
    </body> 
</html> 
इस के लिए

:

<html> 
    <head> 
    </head> 
    <body>  
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <script src="js/plugins.min.js"></script> 
    </body> 
</html> 

मुख्य विचार के लिए एक उपकरण है "ऑटो आयात" में करने के लिए अपने plugins.js मेरी सभी वेबसाइटों के लिए आवश्यक सभी प्लगइन्स फ़ाइल करें और संकलन करते समय उन्हें भी छोटा करें। मैं Google क्लोजर (कंपाइलर के डाउनलोड करने योग्य जावा संस्करण) के साथ परीक्षण कर रहा हूं और मुझे लगा कि फाइलों को कैसे कम किया जाए, लेकिन मैं बाहरी फाइलों को आयात नहीं कर सकता। इसलिए मैं आपसे पूछना चाहता हूं कि क्या आप शायद मुझे बता सकें कि क्या Google क्लोजर वह टूल है जिसे मैं ढूंढ रहा हूं या यदि मुझे किसी अन्य टूल या विधि का उपयोग करना चाहिए।

"ऑटो आयात" के साथ मैं की तरह कुछ मतलब है:

@import hello.js 
hello('New user'); 

मुझे आशा है कि मैं अपने आप को स्पष्ट कर दिया

plugins/HELLO.JS

function hello(name) { 
    alert('Hello, ' + name); 
} 

PLUGINS.JS, मैं माफी माँगता हूँ अगर मैं अपनी अंग्रेजी के साथ गड़बड़ कर दिया।

धन्यवाद !!

+0

आप https://code.google.com/p/closure-compiler/wiki/ManageClosureDependencies पर एक नज़र डालना चाहते हैं। –

उत्तर

0

आप अपने अनुकूलन संभावनाओं के साथ require.js

+6

require.js स्वचालित निर्भरता प्रबंधन को निश्चित रूप से हल करता है। लेकिन यह नहीं हो सकता है हमेशा इष्टतम रणनीति, क्योंकि यह उच्च संख्या में अनुरोध रखता है क्योंकि प्रत्येक स्क्रिप्ट को लोड करने के लिए एक अनुरोध की आवश्यकता होती है (AFAIK, मुझे इसके बारे में निश्चित नहीं है)। क्या अनुरोधों की संख्या को कम करने के लिए सभी जावास्क्रिप्ट को स्वचालित रूप से मर्ज करने की संभावना है? – Richard

1

क्लोजर-कंपाइलर वही कर सकता है जो आप चाहते हैं, लेकिन केवल goog.require कॉल के उपयोग के कारण क्लोजर-लाइब्रेरी कोड के साथ। JQuery कोड के साथ, यह सबसे अच्छा यह कर सकता है कि आपके सभी प्लगइन एक साथ एक फ़ाइल में संकलित करें, लेकिन यह वास्तविक उपयोग को ध्यान में रखेगा।

दुर्भाग्यवश, मुझे कुछ भी पता नहीं है जो सामान्य रूप से कोड के लिए ऐसा करेगा।

नोट: यह प्रश्न के लिए स्वीकार्य उत्तर होने की उम्मीद नहीं है। सवाल विशेष रूप से क्लोजर-कंपाइलर के बारे में पूछा गया था और मैं यह सुनिश्चित करना चाहता था कि कम से कम कहीं यह कहा गया था कि संकलक वांछित के रूप में काम नहीं करेगा।

5

मैंने खुद से एक ही सवाल पूछा, और कोई स्वीकार्य उत्तर नहीं मिला।

// ==ClosureCompiler== 
// @code_url 1.js 
// @code_url 2.js 
// @code_url 3.js 
// ==/ClosureCompiler== 

:

java -jar compiler.jar --js 1.js --js 2.js --js 3.js --js_output_file all.js 

मैं इस तरह डाल लाइनों (जो बंद संकलक सेवा यूआई में प्रयुक्त) की कोशिश की: कई फाइलों में शामिल होने के केवल जिस तरह से कमांड लाइन में एकाधिक "--js" पैरामीटर डालने है ... "main.js" में और इसे संकलित करें - कोई प्रभाव नहीं। :(

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