我在 VS 2015 中有一个 ASP.NET 5 项目。我正在设置我的 gulp 任务,并且正在使用 gulp-chmod 模块。这允许我在复制过程中删除 TFS 设置的只读属性。我之前在 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_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 路径设置为指向./node_modules/.bin
我使用 node -v
检查了包管理器控制台,看来我正在使用最新的 Node 版本。
那么如何通过任务管理器控制正在使用的 Node 版本。我希望它使用 ES2015 来编译我的模块?
提前致谢
最佳答案
听起来您正在运行旧版本的 Node.js。
我发现这个 github 票证建议将以下内容添加到您的 gulp 脚本中,以显示您正在运行的 Node 版本。
https://github.com/sindresorhus/gulp-imagemin/issues/178
console.log('Node version: ' + process.version);
您可以通过工具 > 选项 > 项目和解决方案 > 外部 Web 工具
查看 VS 使用的 Node 版本所在位置。
这个问题有一个相当优雅的解决方案,将“$(PATH)”条目移动到顶部:Gulp task failing when run from VS 2015 Task Runner explorer, but not from command prompt
关于node.js - ES 2015 VS 2015 for node.js 运行任务运行器资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40724674/