2017-09-05 38 views
1

下面是在react js應用程序中的server.js文件中使用的代碼。但我無法理解這種說法的語法。在require('webpack-dev-middleware')之後,沒有使用.,突然又有一個括號以一些參數開始。有人可以解釋它是如何工作的?請解釋反應js中給出的代碼片段的含義

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

我建議添加一個「react」標籤。 – Taurus

+1

@Taurus,帖子有一個,但我刪除它。 OP的應用程序可能是React,但問題本身與React無關。這是一個普通的JS問題。 – Chris

+0

@Taurus我不會,這不是關於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

只需提取此表達的部分作爲單獨的變量

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

app.use(webpackMiddleware); 
1

require('webpack-dev-middleware')返回的功能。

第二組括號包含傳遞給此返回函數的參數。