2011-10-17 5 views
13

मेरे दो प्रश्न हैं।एसेट पाइपलाइन application.js में जावास्क्रिप्ट को संपीड़ित नहीं कर रहा है

  1. मैं एक गलत धारणा है कि मेरे सभी javascripts डिफ़ॉल्ट रूप से application.js में संकुचित किया जाना चाहिए 3.1 रेल में भी विकास मोड में बनाने हूँ?

  2. यदि नहीं, तो मेरे टैग में मेरे सभी 30 जावास्क्रिप्ट क्यों हैं और लोडर को लोड करने के लिए क्यों लेते हैं?

मेरे application.js फ़ाइल इस तरह दिखता है:

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require_tree . 

और ब्राउज़र में यह के रूप में प्रदान की गई है:

// This is a manifest file that'll be compiled into including all the files listed below. 
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically 
// be included in the compiled file accessible from http://example.com/assets/application.js 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// the compiled file. 
// 
; 

मेरे सारे अन्य javascripts पूर्ण में गाया जाता है।

एक गुच्छा धन्यवाद!

उत्तर

11

यदि यह एक नया रेल ऐप डीबग मोड डिफ़ॉल्ट रूप से चालू है। डीबग मोड स्प्राकेट्स को प्रत्येक फ़ाइल के लिए HTML स्रोत में टैग लिखने के लिए बताता है। यह स्रोत फ़ाइल डीबगिंग की सुविधा के लिए किया जाता है।

आप अपने development.rb के पास जाकर सेट विकास मोड में सिर्फ एक फ़ाइल करना चाहते हैं:

config.assets.debug = false

इससे आप प्रत्येक प्रकट के लिए एक फ़ाइल दे देंगे।

संपीड़न विकास के लिए डिफ़ॉल्ट रूप से चालू नहीं है, लेकिन अगर आप चाहते थे वह भी, तो सेट:

config.assets.compress = true

और तुम production.rb से कंप्रेसर विकल्पों स्थानांतरित करने के लिए इतना application.rb करने की आवश्यकता होगी वे विकास पर्यावरण के लिए सुलभ हैं।

मैं देव मोड में डीबग बंद कर देता हूं, लेकिन फ़ाइलों को संसाधित करने में अतिरिक्त समय के कारण मैं संपीड़न का उपयोग नहीं करता हूं।

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