2016-10-26 30 views
0

我已通過module.exports創建了一個實用程序類,它使用SSPI package來獲取用戶的NT名稱。爲什麼eslint在require語句中拋出錯誤?

到目前爲止,該課程只需要expressnode-sspi包。然後,身份驗證功能調用請求以獲取用戶的NT名稱。

但是,當我生成解決方案這個工具類拋出eslint error在線在我的第一個要求分配定義:

var express = require('express'); 

問:

爲什麼eslint上拋出一個錯誤要求聲明?

錯誤的細節如下:

Message: 
    Parsing error: Unexpected token, expected , 
Details: 
    fileName: src\js\util\requestLDAP.js 
    lineNumber: 3 

這是我的實用工具類的要點:

module.exports = { 

    var express = require('express'); 
    var nodeSSPI = require('node-sspi'); 

    var nodeSSPIObj = new nodeSSPI({ 
    retrieveGroups: true 
    }), 

    authenticate: function() { 
     nodeSSPIObj.authenticate(req, res, function(err){ 
     var ntUser = req.connection.user; 
     }) 
    }, 
} 
+1

基本上,這是無效的JavaScript。您可能希望將這些變量聲明保留在對象字面值之外。 –

回答

2

你並不需要使用varobject literal內定義屬性。

var nodeSSPI = require('node-sspi'); 
var nodeSSPIObj = new nodeSSPI({ retrieveGroups: true }); 

module.exports = { 
    express: require('express'), 
    nodeSSPI: nodeSSPI, 
    nodeSSPIObj: nodeSSPIObj, 
    authenticate: function() { 
    nodeSSPIObj.authenticate(req, res, function(err){ 
     var ntUser = req.connection.user; 
    }) 
    } 
} 
+0

雖然在我認爲'authenticate'方法之後需要xtra閉括號,這是正確的。 –

+0

您引用的變量也需要在外面,以便可以訪問它們。 – Matt