2015-12-19 22 views
14

Khi tôi chạy 'webpack-dev-server' từ thiết bị đầu cuối của tôi nó chạy tốt:Không thể bắt đầu webpack-dev-server với ngụm

$ webpack-dev-server 
http://localhost:3333/ 
webpack result is served from /./assets/ 
content is served from C:\Users\Komo\Documents\work\training 
Hash: e705c984af7e83cbb685 
Version: webpack 1.12.9 
Time: 8556ms 
    Asset Size Chunks    Chunk Names 
bundle.js 905 kB  0 [emitted] main 
chunk {0} bundle.js (main) 855 kB [rendered] 
... 
webpack: bundle is now VALID. 

Tôi đang cố gắng để bắt đầu nó với ngụm:

đây là tôi 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 tôi:

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'] 
       } 
      } 
     ] 
    } 
} 
.210

tôi nhận được lỗi sau:

$ 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) 

Tôi đang làm gì sai?

+0

Tại sao bạn sử dụng 'Object.create'? Chỉ cần loại bỏ phần đó. – Louy

+0

Không thay đổi bất cứ điều gì – Komo

+0

Lỗi tương tự? có vẻ như nó không nhận ra cấu hình 'output' của bạn. – Louy

Trả lời

30

Bạn nên đặt output.path làm absolute directory và nó sẽ hoạt động.

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

Cảm ơn người đàn ông, nó hoạt động! – Komo

+0

@blint Tôi đang sử dụng webpack https (webpack-dev-server --https --port 8080) cách đạt được điều này bằng cách sử dụng gulp? Tôi đã thử thêm nhiệm vụ cho việc này, bó đang xảy ra và nó không ném bất kỳ lỗi nào nhưng máy chủ không được khởi động – ShaMoh

Các vấn đề liên quan