#gulp
Вопрос:
Я новичок в Глотании. Я написал функцию для анализа версии в своем package.json
файле следующим образом
// Get the semver part of the version, e.g.,
// version = 1.4.31-p2, should return 1.4.31
function getSemVer(cb) {
var semVer = pkg.version;
if (semVer.includes("-")) {
semVer = semVer.split("-")[0];
}
console.log(semVer);
cb();
}
exports.getSemVer = getSemver
Но когда я запускаю это, я получаю ошибку
$ gulp getSemver -f gulpfiles/version.js
[22:56:58] Working directory changed to /path/gulpfiles
[22:56:59] Using gulpfile /path/gulpfiles/version.js
[22:56:59] Starting 'getSemVer'...
[22:56:59] 'getSemVer' errored after 1.53 ms
[22:56:59] TypeError: semVer.includes is not a function
at getSemVer (/path/gulpfiles/version.js:27:14)
at taskWrapper (/path/node_modules/undertaker/lib/set-task.js:13:15)
at bound (node:domain:416:15)
at runBound (node:domain:427:12)
at asyncRunner (/path/node_modules/async-done/index.js:55:18)
at processTicksAndRejections (node:internal/process/task_queues:78:11)
Я думал includes()
, что допустимая функция JavaScript, показанная в строке JavaScript, включает(). Что это дает?
Комментарии:
1. Который node.js версию вы используете? Node.js начал поддержку
String.prototype.includes
с версии4.0.0
.2. Вы — снова — используете переменную внутри своей функции, которая кажется неопределенной:
pkg
.3. Это неполный пример, но он где-то определен, иначе я бы получил эту ошибку.
4.
node -v
даетv16.2.0
, так что да, это должно быть там?