2017-02-02 5 views
28

Я написал следующий код JavaScript для проекта узла, но при тестировании модуля я столкнулся с ошибкой. Я не уверен, что означает ошибка. Вот мой код:Неверный инициализатор коротких объектов

var http = require('http'); 
// makes an http request 
var makeRequest = function(message) { 
var options = { 
    host: 'localhost', 
    port = 8080, 
    path : '/', 
    method: 'POST' 
} 
// make request and execute function on recieveing response 
var request = http.request(options, function(response) { 
    response.on('data', function(data) { 
    console.log(data); 
    }); 
}); 
request.write(message); 
request.end(); 
} 
module.exports = makeRequest; 

Когда я пытаюсь запустить этот модуль, он выдает следующее сообщение об ошибке:

$ node make_request.js 
/home/pallab/Desktop/make_request.js:8 
    path = '/', 
    ^^^^^^^^^^ 
SyntaxError: Invalid shorthand property initializer 
    at Object.exports.runInThisContext (vm.js:76:16) 
    at Module._compile (module.js:542:28) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:394:7) 
    at startup (bootstrap_node.js:149:9) 
    at bootstrap_node.js:509:3 

Я не совсем понимаю, что это значит, и что я могу сделать, чтобы решить эту проблему.

ответ

79

Поскольку его объект, способ присвоить значение его свойствам, использует :.

Измените = на :, чтобы исправить ошибки.

var options = { 
    host: 'localhost', 
    port: 8080, 
    path: '/', 
    method: 'POST' 
} 
+0

Это работало, но я думал, что вы используете = для хранения чисел и: для строк –

+1

См [Object инициализатора Docs] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/ Операторы/Object_initializer), чтобы узнать, как инициализировать литералы объектов в javascript. Специально сеанс, называемый ** Создание объектов **. –

+1

* Я думал, что вы используете '=' для хранения чисел и ':' для строк * Интересно, где бы вы получили эту идею. –

Смежные вопросы