2015-02-01 8 views
12

मैं वेबजर्स के बजाय एनपीएम के साथ अपनी निर्भरताओं को हल करने के लिए विशेष रूप से एसबीटी-वेब और sbt-js-engine का उपयोग करने की कोशिश कर रहा हूं।एसबीटी-वेब को फ्रंटेंड निर्भरताओं के लिए एनपीएम के साथ काम करने के लिए नहीं मिल सकता है

मेरी समस्या यह है कि फ़ोल्डर में web-stage कार्य के दौरान निर्भरता की प्रतिलिपि बनाई गई नहीं है क्योंकि यह वेबजर का उपयोग करने वाला मामला है।

मैंने अपने परीक्षण करने के लिए sample project from sbt-js-engine का उपयोग किया। इस परियोजना के साथ, मुझे console-browserifypackage.json फ़ाइल से target/web/public/main/lib फ़ोल्डर में निर्भरता की उम्मीद है, लेकिन ऐसा नहीं है।

enter image description here

हो सकता है कि मैं पूरी तरह से गलतफहमी कुछ कर रहा हूँ?

+0

हाय, क्षमा करें, मैं आपकी मदद नहीं कर सकता क्योंकि मैं उस चरण तक पहुंचने में भी सक्षम नहीं था जिसमें आपने 'node_modules' फ़ोल्डर' दिखाई देते हैं? एनपीएम निर्भरताओं को लाने के लिए मुझे मैन्युअल रूप से 'sbt वेब-संपत्तियां चलाएं: jseNpmNodeModules'। – tobik

+0

मुझे भी 'sbt वेब-संपत्तियां चलाने की आवश्यकता थी: jseNpmNodeModules' मैन्युअल रूप से। –

+0

हाय, यह playframework के साथ एक [मुद्दा] (https://github.com/playframework/playframework/issues/3565) प्रतीत होता है। हो सकता है कि प्ले 2.4.2 पर अपग्रेड करने का प्रयास करें और देखें कि यह हल हो गया है –

उत्तर

3

एनपीएम के साथ कुछ परीक्षण निर्भरताओं को खींचने की कोशिश करते समय मुझे एक ही समस्या आई है। कुछ घंटे एक समाधान मैं समाप्त हो गया बस निर्देशिका मैन्युअल रूप से ले जाने के लिए मेरी build.sbt में एक कार्य लिखने के लिए खोज करने के बाद:

lazy val copy_node_modules = taskKey[Unit]("Copys the node_module to the test target dir") 

copy_node_modules := { 
    val node_modules = new File("node_modules") 
    val target = new File("target/web/public/main/public/lib/") 
    IO.copyDirectory(node_modules,target,true, true) 
} 

addCommandAlias("get_npm_deps", ";web-assets:jseNpmNodeModules;copy_node_modules") 

तो आप उपयोग कर सकते हैं "(सबसे अच्छा समाधान है, लेकिन चारों ओर एक काम नहीं हो सकता) get_npm_deps "एनपीएम आधारित निर्भरताओं में खींचने के लिए

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