2016-11-21 39 views
1

我在VS 2015中有一个ASP.NET 5项目。我设置了我的吞噬任务,并且使用了gulp-chmod模块。这使我可以删除我的复制进程中由TFS设置的只读属性。我用这个模块V1.3成功地在之前2015年VS然而新版本V2.0已升级为使用ES 2015年具体特点:ES 2015 VS 2015 for node.js运行任务亚军资源管理器

注意使用的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)

在从任务运行资源管理器的输出。

我已经安装了最新版本的Node.js,并且在命令行中它一切正常。

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

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

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

在此先感谢

+0

的可能的复制[咕嘟咕嘟任务从VS 2015年任务运行资源管理器中运行时,而不是从命令提示符失败](http://stackoverflow.com/questions/35889975/gulp-task-failing-when-run-from-vs-2015-task-runner-explorer-but-not-from-comma) – scniro

回答

2

这听起来像你正在运行的旧版本的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)”项顶端的一个相当优雅的解决方案:Gulp task failing when run from VS 2015 Task Runner explorer, but not from command prompt

+0

添加以上确认I我确实在运行v0.10.XXX,因为它与ES 2015语法不兼容。 –

相关问题