ES6 的 Visual Studio 任务运行程序错误

2022-01-12 00:00:00 visual-studio node.js javascript gulp

我正在运行 Visual Studio 2017 并使用 Task Runner 在我的 gulpfile 中运行任务.我最近将一个 gulp 任务更新到 ES6,现在收到此错误:

I am running Visual Studio 2017 and use the Task Runner to run tasks in my gulpfile. I recently updated a gulp task to ES6 and now am getting this error:

无法运行C:Users z9rcnCodeWebUIGulpfile.js"...cmd.exe/c gulp --tasks-simpleC:Users z9rcnCodeWebUIgulp-taskslesslint.js:5让失败=假;^^^SyntaxError:在严格模式之外尚不支持块范围的声明(let、const、函数、类)在exports.runInThisContext (vm.js:53:16)在 Module._compile (module.js:373:25)在 Object.Module._extensions..js (module.js:404:10)在 Module.load (module.js:343:32)在 Function.Module._load (module.js:300:12)在 Module.require (module.js:353:17)在要求(内部/module.js:12:17)在任务 (C:Users z9rcnCodeWebUIgulpfile.js:24:25)在对象.<匿名>(C:Users z9rcnCodeWebUIgulpfile.js:37:23)在 Module._compile (module.js:397:26)

Failed to run "C:Users z9rcnCodeWebUIGulpfile.js"... cmd.exe /c gulp --tasks-simple C:Users z9rcnCodeWebUIgulp-taskslesslint.js:5 let fail = false; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:404:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at task (C:Users z9rcnCodeWebUIgulpfile.js:24:25) at Object.<anonymous> (C:Users z9rcnCodeWebUIgulpfile.js:37:23) at Module._compile (module.js:397:26)

找不到地方来调整导致此错误的设置(严格模式).请帮忙.谢谢

Can't find a place to adjust the settings causing this error (strict mode). Please help. Thanks

推荐答案

通过取消选中 Task Runner 使用的 Node.js 二进制文件的复选框来解决问题:

Issue solved by un-checking the box for the Node.js binary used by Task Runner:

在菜单中,进入 Tools > Options > Projects and Solutions > Web Package Management > External Web Tools 并取消选择 $(VSINSTALLDIR)WebExternal

In the menu, go to Tools > Options > Projects and Solutions > Web Package Management > External Web Tools and DESELECT the option for $(VSINSTALLDIR)WebExternal

该目录下安装的版本显然不支持ES6.

The version installed in that directory doesn't support ES6 apparently.

解决方案参考这里 和这里.

相关文章