2013-08-15 8 views
8

मैं अपने अंगुलरजेएस + रेल परियोजना में कर्म परीक्षण धावक का उपयोग करना चाहता हूं। क्या किसी ने उन्हें सफलतापूर्वक एकीकृत किया है? अधिक विशेष रूप से, मुझे यह जानने में दिलचस्पी है कि कैसे संपत्ति पाइपलाइन के साथ एकीकृत करना है (मेरे पास .coffee.erb एक्सटेंशन वाली फ़ाइलें हैं, जिन्हें दो बार प्रीप्रोकैस करने की आवश्यकता होगी)।रेल संपत्ति परिसंपत्ति पाइपलाइन के साथ कर्म को एकीकृत कैसे करें?

मैं कर्मा संस्करण 0.10.1 का उपयोग और रेल 4.

किसी भी मदद/उदाहरण की सराहना की जाएगी।

उत्तर

1

मैंने उन्हें इस तरह एकीकृत नहीं किया है, लेकिन मेरी परियोजना के लिए मैंने दूसरी तरफ जाना चुना है, और प्रत्येक को पूरी तरह से अलग से सेवा दी है। इसलिए मैंने अलग-अलग निर्देशिकाओं में एक रेल ऐप और एक कोणीय ऐप बनाया है, फिर मैंने एंजुलर ऐप को रेल ऐप की सार्वजनिक निर्देशिका में सिम-लिंक किया है ताकि रेल सर्वर कोणीय स्क्रिप्ट और टेम्पलेट्स की सेवा करेगा।

इस तरह से ऐसा करने में मेरा तर्क यह था कि मैं कोड के उसी सेट में दो अलग-अलग प्री-प्रोसेसर नहीं चाहता था, और मुझे विश्वास नहीं था कि परीक्षण उपकरण एक दूसरे के साथ अच्छा खेलेंगे। मैंने एनजी-बॉयलरप्लेट के साथ आने वाली बिल्ड स्क्रिप्ट का भी चयन करना चुना है, और ये स्क्रिप्ट काफी काम कर रही हैं जो अन्यथा रेक या अन्य टूल्स द्वारा की जाएगी।

मैं एक ट्यूटोरियल है कि आसपास आधारित श्रृंखला लिख ​​रहा है, यह यहां पाया जा सकता: http://technpol.wordpress.com/2013/08/11/rails-app-for-angularjs-simple-application/

12

मैं अपने रेल app में कर्मा Sprockets के बारे में पता अंकन के साथ संघर्ष कर रहा है, और एक समाधान के साथ आने के लिए लेते हैं। आपको application.js में घोषित संपत्तियों की सूची प्राप्त करने के लिए एक रेक कार्य की आवश्यकता है, और उन्हें अपनी कर्म कॉन्फ़िगरेशन फ़ाइल के files सरणी में इंजेक्ट करें।

sprockets = Rails.application.assets 
sprockets.append_path Rails.root.join("spec/karma") 
files = Rails.application.assets.find_asset("application_spec.js").to_a.map {|e| e.pathname.to_s } 
मेरी कर्म विन्यास फाइल के साथ

:

मेरी रेक कार्य में मैं इस राशि

files: [ 
    APPLICATION_SPEC, 
    'app/assets/javascripts/angular/*/*.{coffee,js}', 
    'spec/javascripts/**/*_spec.{coffee,js}' 
] 

जहां मैं सभी स्प्रोकेट files साथ APPLICATION_SPEC बदलें। यदि आप बड़ी तस्वीर चाहते हैं तो मैंने tutorial लिखा था।

1

विकल्प है कि मैं अब तक देखा है में से कुछ:

0

मैं निम्न कार्य करके अच्छा खेलने के लिए कर्म और कोणीय मिला:

अपने development.rb फ़ाइल में जोड़ें:

config.assets.prefix = "/dev-assets"

यह public/dev-assets में अपनी संपत्तियों को precompile होगा फ़ोल्डर, वैसे ही उत्पादन public/assets पर जाएगा। फिर आप अपने कर्म कॉन्फ़िगरेशन में जोड़ सकते हैं:

files: [ 
    ... 
    './public/dev-assets/*.js'`, 
    ... 
]; 
संबंधित मुद्दे