Я принес эту книгу: http://www.amazon.com/Full-Stack-JavaScript-Development-MEAN/dp/0992461251/ref=sr_1_3?ie=UTF8&qid=1424518897&sr=8-3&keywords=meanошибка Javascript с JSHint
И я изучал примеры и наткнулся на этот кусок кода:
var http = require(‘http’);
var fs = require(‘fs’);
http.createServer(function (req, res) {
if (req.url === ‘/favicon.ico’) {
return res.end();
}
console.log(‘Incoming request to ‘ + req.url);
var i = 2;
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
setTimeout(function() {
fs.readFile(__filename, {
encoding: ‘utf8’
}, function (error, contents) {
if (error) {
console.error(error);
return res.end();
}
console.log(‘sending response for ‘ + req.url);
res.end(contents);
});
}, 5000);
while(i—) {
console.log(‘Loop value: ‘ + i + ‘\r’);
}
}).listen(1337, ‘127.0.0.1’);
console.log(‘Server running at http://127.0.0.1:1337/’);
Я нашел 3 проблемы:
- Программист использует 2 пробела, что является общим для начинающих программистов (теперь у него 8 пробелов, потому что я его изменил, должно быть 4, я знаю)
- Th e код не компилируется
- Плохие методы программирования, такие как «__filename», откуда он получил эту переменную от ??
Так что, как новый программист, я могу перенапрягать себя и делать неправильные выводы. Это так?
Эти ошибки, приведенные JSHint (НПМ установки):
27,12: Неожиданное '-'.
28,9: Ожидаемая ')' в соответствии '(' из строки 27 и вместо этого увидел 'консоль'
28,16:. Ожидаемый идентификатор и вместо этого увидел
28 ''. , 16: Ожидаемый вызов присваивания или функции и вместо этого увидел выражение
28,17:.. Отсутствует точка с запятой
30,1: Ожидаемая ')' и вместо этого увидел '}'.
30,2: Отсутствует точка с запятой.
30,2: Ожидаемый идентификатор и вместо этого «)».
30,3: Ожидается, что оператор и вместо этого увидели '.'.
30,3: Ожидается назначение или вызов функции, а вместо этого - выражение.
30,4: Отсутствует точка с запятой.
Так этот парень пишет плохой код в своей книге, или я как программист, начинающий javascript, чрезмерно растягивая себя?
BTW два пространства очень практично в книге, потому что наборной. – meskobalazs
Он использовал 2 пробела, но когда я копировал и вставлял код, это было 8 пробелов, или он просто произошел из-за перевода формата между разными документами? –
Нет, это потому, что они были и остаются вкладками (см. Источник). –