node.js 运行 任务运行器资源管理器的 ES 2015 VS 2015

ES 2015 VS 2015 for node.js running task runner explorer

我在 VS 2015 中有一个 ASP.NET 5 项目。我正在设置我的 gulp 任务,我正在使用 gulp-chmod 模块。这允许我在我的复制过程中删除 TFS 设置的只读属性。我之前在 VS 2015 中成功使用过此模块的 v1.3,但是新版本 v2.0 已升级为专门使用 ES 2015 功能:

注意 constlet

的使用
 'use strict';
 const through = require('through2');
 const deepAssign = require('deep-assign');
 const Mode = require('stat-mode');

 const defaultMode = 0o777 & (~process.umask());

 function normalize(mode) {
      let called = false;const through = require('through2');
      const deepAssign = require('deep-assign');
      ...

我收到错误:

cmd.exe /c gulp --tasks-simple <MY_PATH>\node_modules\gulp-chmod\index.js:2 const through = require('through2'); ^^^^^ SyntaxError: Use of const in strict mode. at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (<MYPATH>\gulpfile.js:9:13) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12)

在 Task Runner 资源管理器的输出中。

我安装了最新版本的 Node.js,在命令行下一切正常。

我的节点路径设置为指向./node_modules/.bin

我使用 node -v 检查了包管理器控制台,看来我使用的是最新的节点版本。

那么如何通过任务管理器控制正在使用的Node版本。我希望它使用 ES2015 来编译我的模块?

提前致谢

听起来你 运行 使用的是 Node.js 的旧版本。

我发现这张 github 票据建议将以下内容添加到您的 gulp 脚本中,以显示您 运行 使用的节点版本。

https://github.com/sindresorhus/gulp-imagemin/issues/178

console.log('Node version: ' + process.version);

你可以去Tools > Options > Projects and Solutions > External Web Tools找出VS正在使用的节点版本所在的位置。

这个问题有一个相当优雅的解决方案,将你的“$(PATH)”条目移到顶部: