2017-09-05 13 views
1

以下は、反応jsアプリケーションのserver.jsファイルで使用されるコードです。しかし、私はこの声明の構文を理解することができません。ここでrequire( 'webpack-dev-middleware')の後には.が使われず、突然いくつかの引数で別のブラケットが始まりました。誰かがそれがどのように機能しているのか説明してください。反応jsのコードスニペットの意味を説明してください

app.use(require('webpack-dev-middleware')(compiler, { 
noInfo: true, 
publicPath: config.output.publicPath 
})); 
+0

「反応」タグも追加することをお勧めします。 – Taurus

+1

@トーラス、投稿は1つだったが、削除した。 OPのアプリはReactかもしれませんが、Reactとは無関係の質問です。これはJSの一般的な質問です。 – Chris

+0

@トーラス私はそうではありません、これはReactJSについてではありません –

答えて

1

require('webpack-dev-middleware')が関数を返しています。これはこれの短縮バージョンです

const webpackMiddleware = require('webpack-dev-middleware'); 
const webpackCompiler = webpackMiddleware(compiler, { 
    noInfo: true, 
    publicPath: config.output.publicPath 
}); 
app.use(webpackCompiler); 
0

単純関数を返すrequire('webpack-dev-middleware')

const createWebpackMiddleware = require('webpack-dev-middleware') 
const options = { 
    noInfo: true, 
    publicPath: config.output.publicPath 
} 
const webpackMiddleware = createWebpackMiddleware(compiler, options) 

app.use(webpackMiddleware); 
1

別個の変数として、この表現の部分を抽出します。

第2セットの大括弧には、この返された関数に渡す引数が含まれています。

関連する問題