2015-12-19 8 views
14

とのWebPACK-devのサーバーを起動できませんここに私のgulpfile.js次のとおりです。は、それが正常に動作一口

var gulp    = require('gulp'); 
var gutil   = require('gulp-util'); 
var webpack   = require('webpack'); 
var WebpackDevServer = require('webpack-dev-server'); 
var webpackConfig = require('./webpack.config.js'); 


gulp.task('webpack-dev-server', function (c) { 
    var myConfig = Object.create(webpackConfig); 

    myConfig.devtool = 'eval'; 
    myConfig.debug = true; 

    // Start a webpack-dev-server 
    new WebpackDevServer(webpack(myConfig), { 
     stats: { 
      colors: true 
     } 
    }).listen(myConfig.devServer.port, 'localhost', function (err) { 
     if (err) { 
      throw new gutil.PluginError('webpack-dev-server', err); 
     } 
     gutil.log('[webpack-dev-server]', 'http://localhost:3333/index.html'); 
    }); 
}); 

// The default task (called when you run `gulp` from cli) 
gulp.task('default', ['webpack-dev-server']); 

と私のwebpack.config.js

module.exports = { 
    entry: './main.js', 
    output: { 
     path: './', 
     publicPath: './assets/', 
     filename: 'bundle.js' 
    }, 
    devServer: { 
     inline: true, 
     port: 3333 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.js$/, 
       exclude: /node_modules/, 
       loader: 'babel', 
       query: { 
        presets: ['es2015', 'react'] 
       } 
      } 
     ] 
    } 
} 

私は次のエラーを取得する:

$ gulp 
[13:56:24] Using gulpfile ~\Documents\work\training\gulpfile.js 
[13:56:24] Starting 'webpack-dev-server'... 
[13:56:24] [webpack-dev-server] http://localhost:3333/index.html 

Error: invalid argument 
    at pathToArray (C:\Users\Komo\Documents\work\training\node_modules\webpack-dev-server\node_modules\webpack-dev-middleware\node_modules\memory-fs\lib\MemoryFileSystem.js:44:10) 
    at MemoryFileSystem.mkdirpSync (C:\Users\Komo\Documents\work\training\node_modules\webpack-dev-server\node_modules\webpack-dev-middleware\node_modules\memory-fs\lib\MemoryFileSystem.js:139:13) 
    at MemoryFileSystem.(anonymous function) [as mkdirp] (C:\Users\Komo\Documents\work\training\node_modules\webpack-dev-server\node_modules\webpack-dev-middleware\node_modules\memory-fs\lib\MemoryFileSystem.js:279:34) 
    at Compiler.<anonymous> (C:\Users\Komo\Documents\work\training\node_modules\webpack\lib\Compiler.js:229:25) 
    at Compiler.applyPluginsAsync (C:\Users\Komo\Documents\work\training\node_modules\webpack\node_modules\tapable\lib\Tapable.js:60:69) 
    at Compiler.emitAssets (C:\Users\Komo\Documents\work\training\node_modules\webpack\lib\Compiler.js:226:7) 
    at Watching.<anonymous> (C:\Users\Komo\Documents\work\training\node_modules\webpack\lib\Compiler.js:54:18) 
    at C:\Users\Komo\Documents\work\training\node_modules\webpack\lib\Compiler.js:403:12 
    at Compiler.next (C:\Users\Komo\Documents\work\training\node_modules\webpack\node_modules\tapable\lib\Tapable.js:67:11) 
    at Compiler.<anonymous> (C:\Users\Komo\Documents\work\training\node_modules\webpack\lib\CachePlugin.js:40:4) 

は私が間違って何をしているのですか?

+0

なぜ 'Object.create'を使用していますか?その部分を削除するだけです。 – Louy

+0

何も変更していません – Komo

+0

同じエラーが表示されますか?あなたの 'output'設定を認識していないようです。 – Louy

答えて

30

output.pathabsolute directoryと設定すると効果があります。

module.exports = { 
    entry: './main.js', 
    output: { 
     path: __dirname + '/', 
     publicPath: './assets/', 
     filename: 'bundle.js' 
    }, 
    ... 
} 
+1

ありがとう、それは動作します! – Komo

+0

@blint私はwebpack https(webpack-dev-server --https --port 8080)を使って、gulpを使ってこれを達成する方法を教えていますか?私はこれのためのタスクを追加しようとしました、バンドルが起こっているとそのエラーを投げていないが、サーバーが起動されていません – ShaMoh

関連する問題