अब मेरे पास grunt.initConfig()
चलाने से पहले मुझे पता होना चाहिए कि फ़ाइल नामों और पथों को गतिशील रूप से समझने के लिए रॉडर में कुछ PHP स्रोतों को पार्स करने के लिए स्रोतफाइल को पार्स करने के लिए कुछ स्वचालित पहचान जादू करने के लिए मेरा ग्रंटफाइल सेटअप है।grunt.initConfig() से पहले मैं एसिंक्रोनस ऑपरेशन कैसे कर सकता हूं?
दुर्भाग्य से grunt.initConfig()
असीमित रूप से चलाने के लिए प्रतीत नहीं होता है, इसलिए मुझे इसे कॉल करने से पहले मेरे एसिंक्रोनस कोड को निष्पादित करने का कोई तरीका नहीं दिखता है। क्या इसे पूरा करने के लिए कोई चाल है या क्या मुझे अपने पहचान दिनचर्या को समकालिक रूप से फिर से लिखना है? क्या मेरे कॉलबैक आने से पहले निष्पादन को अवरुद्ध करने का कोई आसान तरीका है?
ग्रेट कार्यों के अंदर निश्चित रूप से this.async()
है, लेकिन initConfig()
के लिए यह काम नहीं करता है।
function findSomeFilesAndPaths(callback) {
// async tasks that detect and parse
// and execute callback(results) when done
}
module.exports = function (grunt) {
var config = {
pkg: grunt.file.readJSON('package.json'),
}
findSomeFilesAndPaths(function (results) {
config.watch = {
coffee: {
files: results.coffeeDir + "**/*.coffee",
tasks: ["coffee"]
// ...
}
};
grunt.initConfig(config);
grunt.loadNpmTasks "grunt-contrib-coffee"
// grunt.loadNpmTasks(...);
});
};
किसी भी अच्छे विचार कैसे इस किया जाना:
यहाँ एक नीचे छीन उदाहरण है?
बहुत बहुत धन्यवाद!
अगर आप सिर्फ async समारोह के कॉलबैक में grunt.initconfig और grunt.loadnpmtasks आदि डाल क्या होता है? –
क्या मैंने ऊपर नहीं किया है? क्या होता है कि गड़बड़ी मेरे कॉलबैक की प्रतीक्षा नहीं करती है, इसलिए 'grunt.initConfig() 'आदि को गड़बड़ ग्राहक रिटर्न से पहले नहीं बुलाया जाएगा। – leyyinad
ओह हाँ आपने किया, मेरी गलती ... –