2016-07-15 10 views
10

यह एक आम समस्या प्रतीत होती है, लेकिन सक्रिय खोज के कुछ दिनों के बाद मुझे कोई भी समाधान नहीं मिला जो मेरे मामले में काम करता है।वेबपैक - वॉच विंडोज पर काम नहीं करता है (न ही वेबपैक-डीवी-सर्वर)

  • windows7-64
  • नोड: 6.3.0-64 (यह भी कोशिश की नोड v4.4.7-64)
  • NPM: 3.10.3
  • webpack: 1.13.1
  • उदात्त पाठ (नहीं विम)

सबसे पहले, मैं स्थापित नहीं कर सकता fsevents पर खिड़कियां है, जो समस्या हो सकती है, क्योंकि यह OS X पर देख

D:\file>npm install webpack 
[email protected] D:\file 
`-- [email protected] 

npm WARN optional Skipping failed optional dependency /chokidar/fsevents: 
npm WARN notsup Not compatible with your operating system or architecture: [email protected] 

तो, अगर खिड़कियों पर अपने --watch काम करता है, कृपया मुझे बताओ के लिए पुस्तकालय है, तो आप fsevents लंघन जब webpack स्थापित करने के साथ एक ही मुद्दा है ?


दूसरे, webpack --watch फ़ाइल संकलन करता है, लेकिन यह बिल्कुल भी घड़ी नहीं है।

उदा। अगर मैं लेखनी घड़ी का उपयोग, तो यह वास्तव में ब्लॉक मेरे आदेश पंक्ति जब तक मैं प्रेस CTRL + C

D:\file>stylus -w style.styl 
watching C:/Users/... 
compiled style.css 
watching style.styl 
_ 

और केवल CTRL + C यह अपने कीबोर्ड अवरोधित कर देगा के बाद।

^CTerminate batch job (Y/N)? y 

stylus-watch

जबकि webpack -w पूरी तरह से अलग है। यह सिर्फ बदलावों पर फ़ाइल को संकलित नहीं कर रहा है, लेकिन यह बिल्कुल भी नहीं देख रहा है। मेरा मतलब है कि webpack --watch कमांड टाइप करने के बाद यह फ़ाइल को एक बार संकलित कर रहा है, लेकिन यह मेरे कीबोर्ड को लॉक नहीं करता है और इसलिए यह मुझे एक और कमांड लिखने की अनुमति देता है।

D:\webpa>webpack main.js bundle.js 
D:\webpa>webpack -w main.js bundle.js 
D:\webpa>webpack --watch main.js bundle.js 
D:\webpa> 

webpack-watch

webpack-dev-server के साथ एक ही है - यह सर्वर शुरू होता है, लेकिन फिर तुरंत इसके पूर्ण हो जाने।

D:\webpa>webpack-dev-server --hot --inline 
http://localhost:8080/ 
webpack result is served from/
content is served from D:\webpa 
D:\webpa> 

यह समस्या की तरह लग रहा है क्योंकि यह webpack --watch main.js bundle.js जैसी कमांड के साथ भी घड़ी नहीं है, लेकिन वैसे भी, यहाँ मेरी बुनियादी config है, webpack.config.js साथ नहीं है।

var webpack = require('webpack'); 
module.exports = { 
    context: __dirname, 
    entry: "./main.js", 
    output: { 
    path: __dirname, 
    filename: "bundle.js" 
    }, 
}; 

और मैं कोशिश की है कई अन्य वेरिएंट:

var webpack = require('webpack'); 
var path = require('path'); 
var entry = path.join(__dirname, "main.js"); 
var WebpackNotifierPlugin = require('webpack-notifier'); 

module.exports = { 
    context: __dirname, 
    entry: entry, 
    output: { 
    path: __dirname, 
    filename: "bundle.js" 
    }, 
    resolve: {root: [__dirname]}, 
    resolve: { fallback: path.join(__dirname, "node_modules") }, 
    resolveLoader: { fallback: path.join(__dirname, "node_modules") }, 
    plugins: [ 
    new webpack.OldWatchingPlugin(), 
    new WebpackNotifierPlugin(), 
    new webpack.ResolverPlugin(
     new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json", ["main"]) 
    ), 
    new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors/js/applibs.js'), 
    new webpack.optimize.DedupePlugin() 
    ] 
}; 

जैसा कि मैंने कहा, समस्या webpack.config में नहीं हो रहा है।

echo fs.inotify.max_user_watches=524288 
webpack-dev-server --content-base ./ --port 9966 --hot --inline 
webpack --watch --watch-poll 
rename/move/create new folder, reinstall node.js and webpack 

तो, हाँ, यदि आप इस समस्या था और आप संकल्प लिया यह कुछ जानकारी साझा करें: js


मैं भी तरह बातें की कोशिश की है।

  • क्या आपको fsevents इंस्टॉल करने में समस्याएं थीं?
  • क्या आपका webpack --watch कमांड आपके कीबोर्ड को अवरुद्ध कर रहा है और वास्तव में देख रहा है, लेकिन परिवर्तन के बाद फ़ाइलों को संकलित नहीं कर रहा है? या यह मेरे मामले में तुरंत देख रहा था?
  • --watch और webpack-dev-server से अलग करने के लिए क्या कोई अन्य सुझाव है?

धन्यवाद!

+0

fsevents l हो सकता है एक यूनिक्स विशिष्ट बात ike। मुझे विंडोज़ पर एक ही चेतावनी मिलती है और यह कोई समस्या नहीं थी ताकि आप इसे खत्म कर सकें। – mjohnsonengr

+3

मुझे 'वॉचऑप्शन' जोड़ने के साथ भी भाग्य मिला: { कुल टाइमआउट: 300, मतदान: 1000 }, 'मेरे dev सर्वर कॉन्फ़िगरेशन में। मुझे वास्तव में वेबपैक-डीवी-सर्वर सीएलआई पर भरोसा करने के बजाय वास्तव में एक dev सर्वर कॉन्फ़िगर करना था। Https://webpack.github.io/docs/configuration.html#devserver – mjohnsonengr

+0

@mjohnsonengr देखें, आपकी मदद के लिए धन्यवाद! हां, मैं उल्लेख करना भूल गया था कि मैंने 'वॉचऑप्शन: {एग्रीगेटटाइमआउट: 300, पोल: 1000},', लेकिन यह काम नहीं किया है। क्या आप अपना webpack.config.js और dev सर्वर कॉन्फ़िगरेशन साझा कर सकते हैं? और वैसे, क्या आपका '- वॉच' शुरुआत से ठीक से काम करता है? – SamAI

उत्तर

5

मैं इसे यहां शामिल करूंगा क्योंकि यह मेरी समस्या को ठीक करता है। यह आपके आधार पर हो सकता है या नहीं, इस पर निर्भर करता है कि आपके पोस्ट में आपके पथ वास्तव में आपके द्वारा उपयोग किए जा रहे पथ हैं या नहीं। यदि यह आपकी समस्या का समाधान नहीं करता है, कम से कम यह कुछ निकायों को हल करेगा क्योंकि यह प्रश्न इस मुद्दे के लिए पहली बात सामने आता है।

आपके पास "(" या ")" के साथ कोई पथ नहीं हो सकता है, क्योंकि यह ग्लोब निर्भरता सोचती है कि यह एक ग्लोब है यदि आप करते हैं।

if (typeof str === 'string' && str.indexOf('Program Files (x86)') > -1) 
    return false 
+0

अन्य विशेष वर्ण भी एक समस्या हो सकती हैं। विस्मयादिबोधक चिह्न भी मेरे मामले में एक समस्या थी। मुझे बस '[a-z_] 'वर्णों के साथ एक अलग निर्देशिका बनाना था और उसमें काम करना था। – Nux

1

का उपयोग कर पर एक नज़र डालें: आप के साथ "(" (जैसे प्रोग्राम फ़ाइलें (x86)), तो आप कुछ इस तरह अपने है-ग्लोब मॉड्यूल के लिए node_modules में जोड़ना होगा एक पथ में अपनी परियोजना डाल करना आवश्यक है fswatch। मैं एक ही गंदगी में अपने आप को लगता है। विंडोज़/लिनक्स fsevents समर्थन नहीं कर सकता पर विचार इसकी सख्ती से OSX के लिए। लिनक्स के लिए समर्थन, उदाहरण के लिए, inotify माध्यम से है।

ऐसा लगता है fswatch, एक पार मंच फाइल सिस्टम की निगरानी प्रदान करता है ताकि आप यदि आप अपनी विंडोज मशीन के साथ उपयोग करते हैं तो सभी सेट होना चाहिए।

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