2017-03-06 9 views
5

मेरे पास एक दूसरे के बगल में 10 टाइपस्क्रिप्ट प्रोजेक्ट फ़ोल्डर्स हैं, जिनमें प्रत्येक रूट में tsconfig.json है। विभिन्न कारणों से, परियोजनाओं को अलग से संकलित करने की आवश्यकता है। स्वचालित रूप से एक दिया परियोजना जब उसके स्रोत बदलने पर, मैं एक Windows बैच फ़ाइल से निम्नलिखित, प्रत्येक परियोजना के लिए चल रहा हूँ बनाने के लिए:मैं वीएससीओडी में एकाधिक टाइपस्क्रिप्ट परियोजनाओं को कैसे देखूं?

tsc -w 

बैच फ़ाइल से, इस start का उपयोग करके किया गया है, ताकि विभिन्न tsc आदेशों समानांतर में चला सकते हैं:

    :

    start tsc -w -p ./Project1 
    start tsc -w -p ./Project2 
    ... 
    

    अब समस्या यह है कि, अतिरिक्त विकल्प के आधार पर, या तो है

  1. 10 कमांड लाइन खिड़कियों बनाता है, ताकि बाद में देखें जो मामले में घड़ी केवल कार्य प्रबंधक

... जिनमें से न तो वांछनीय है से मारा जा सकता है

  • रन अदृश्य रूप से बंद कर दिया जा सकता है। तो, विजुअल स्टूडियो कोड में एकाधिक टाइपस्क्रिप्ट परियोजनाओं को देखने के लिए "सही" तरीका क्या होगा?


    संपादित

    मैं इस हिस्से के बारे में गलत था:

    रन अदृश्य रूप से, इस स्थिति में घड़ी केवल कार्य प्रबंधक से मारा जा सकता है

    यदि कार्य

    का उपयोग शुरू कर दिया गया है
    start /B tsc -w -p ./Project1 
    

    ... फिर कमांड प्रॉम्प्ट को बंद करने से इसे "अदृश्य" कार्य बंद कर दिया जाएगा, कम से कम विंडोज 10 पर। मैंने इसे टास्क मैनेजर से सत्यापित किया है।

  • उत्तर

    0

    सबसे सुरुचिपूर्ण समाधान मैंने पाया concurrently पैकेज

    उपयोग कर रहा है स्थापित

    npm i -g concurrently 
    

    प्रयोग

    concurrently "tsc -w -p ./Project1" "tsc -w -p ./Project2" 
    
    0

    आप एक कार्य फ़ाइल के साथ ऐसा कर सकते हैं, लेकिन "version": "2.0.0" का उपयोग करना याद रखें क्योंकि यह पुराने से काम नहीं करता है एर संस्करण। एक बार जब आप उस फ़ाइल को बनाते हैं तो .vscode/tasks.json इसे इसमें डाल दें और इसे अपनी आवश्यकताओं में संशोधित करें। एक बार कार्य चलाने के लिए तैयार होने के बाद केवल मुख्य Build कार्य चलाएं और इसे आपके अन्य tsc कार्यों को स्टार्टअप करना चाहिए।

    { 
        "version": "2.0.0", 
        "command": "tsc", 
        "problemMatcher":"$tsc-watch", 
        "showOutput": "always", 
        "echoCommand": true, 
        "tasks": [ 
        { 
         "taskName": "Build", 
         "isBuildCommand": true, 
         "dependsOn": [ 
         "Build A", 
         "Build B", 
         "Build C" 
         ] 
        }, 
        { 
         "taskName": "Build A", 
         "args": [ 
         "-w", "-p", "./src/project-a" 
         ] 
        }, 
        { 
         "taskName": "Build B", 
         "args": [ 
         "-w", "-p", "./src/project-b" 
         ] 
        }, 
        { 
         "taskName": "Build C", 
         "args": [ 
         "-w", "-p", "./src/project-c" 
         ] 
        } 
        ] 
    } 
    
    संबंधित मुद्दे