我在vs 2015中有一个ASP.NET 5项目。我正在设置Gulp任务,并且正在使用Gulp-Chmod模块。这使我可以在复制过程中仅删除TFS设置的读取属性。在VS 2015中,我已经在vs 2015中成功使用了该模块的v1.3,但是新版本v2.0已升级到ES 2015功能专门使用:
注意使用const
,let
'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_modulesgulp-chmodindex.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 Explorer的输出中。
我已安装了最新版本的node.js并关闭命令行,它都可以很好地工作。
我的节点路径设置为./node_modules/.bin
我使用node -v
在软件包管理器控制台中检查了一下,看来我正在使用最新的节点版本。
因此,如何控制通过任务管理器使用的节点版本。我希望它使用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)"条目移至顶部:GULP任务从VS 2015 Task Runner Explorer运行时失败,但不是从命令提示符