首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Visual 2015任务运行程序运行Gulpfile时出错

从Visual 2015任务运行程序运行Gulpfile时出错
EN

Stack Overflow用户
提问于 2016-11-02 03:52:16
回答 2查看 1.3K关注 0票数 1

我正在构建一个gulpfile文件,用于我的aps.net winforms项目。到目前为止,我在package.json中有以下内容

代码语言:javascript
复制
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
  "browserify": "^13.1.0",
  "del": "2.2.0",
  "gulp": "^3.9.1",
  "gulp-sourcemaps": "^2.2.0",
  "gulp-typescript": "^3.0.2",
  "tsify": "^2.0.2",
  "vinyl-source-stream": "^1.1.0"
 }
}

而吞咽的文件

代码语言:javascript
复制
/// <binding BeforeBuild='default' />
/*
 This file in the main entry point for defining Gulp tasks and using Gulp      plugins.
  Click here to learn more. http://go.microsoft.com/fwlink/?LinkId=518007
*/

var gulp = require('gulp');

var del = require('del');
var ts = require("gulp-typescript");
var tsProject = ts.createProject("tsconfig.json");
var sourcemaps = require('gulp-sourcemaps');

gulp.task('default', function () {
  // place code for your default task here
});

我的节点版本是6.9.1

如果我从命令行('gulp')运行这个命令,它就能正常工作。但是在Visual任务运行程序中,它无法加载,在out中我看到以下错误。此错误在我添加行var sourcemaps = require('gulp-sourcemaps');后开始

代码语言:javascript
复制
 Failed to run "H:\dev\myproj\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
H:\dev\myproj\node_modules\gulp-sourcemaps\node_modules\strip-bom\index.js:2
module.exports = x => {
                    ^
SyntaxError: Unexpected token >
    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> (H:\dev\myproj\node_modules\gulp-sourcemaps\src\init.js:10:14)
    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)

同时添加var tsify = require("tsify");,我得到了另一个错误..。

代码语言:javascript
复制
Failed to run "H:\dev\myproject\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
TypeError: Object #<Object> has no method 'debuglog'
    at Object.<anonymous> (H:\dev\myproject\node_modules\tsify\index.js:4:32)
    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)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (H:\dev\myproject\gulpfile.js:17:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)

有人知道我为什么要得到这个吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-15 06:02:01

我的问题是,我没有意识到Visual有自己的(过时的)节点工具版本(安装在Visual文件夹中的某个地方)。多乱啊!

为了使它能够使用“全局”节点工具,我可以转到菜单Tools \ Options {##**$$}项目和解决方案外部Web Tools,并将$(PATH)移动到位于$(DevEnvDir)\*位置之前。在我这么做之后,我的Gulp文件就会加载。

另一种选择可能是通过Tools类扩展和更新更新Visual节点工具,但是(我想)我更喜欢使用Visual之外使用的相同的外部工具。

票数 5
EN

Stack Overflow用户

发布于 2016-11-06 13:45:29

经过一些调查,我也面临同样的问题,这似乎是一个版本兼容性的问题,您的nodejs安装,和您的软件包依赖“带状-bom”。

一个临时解决方案是从以下几个方面进行更改:

代码语言:javascript
复制
module.exports = x => {

至:

代码语言:javascript
复制
module.exports = function (x) {

您可能需要检查一下:Gulp-Sourcemaps, SyntaxError: Unexpected token >

这似乎解决了我的问题,但不是一个很好的方法。

问题是,您可能正在运行一个旧版本的节点。尝试使用命令node -vnodejs -v来检查您的版本。

虽然这可能不是您的情况,但对其他人来说很好,可以看到这一点,Debian/Ubuntu实际上在其包管理器"apt-get“上有一个过时的节点版本。因此,很有可能您仍然在运行一个旧版本,比如0.10.25。

我推荐的真正解决方法(我最后做的)是升级您的节点版本。截至目前,6.9.1版似乎是最新的稳定版本。

您可以在nodejs官方网站上查看安装指南:

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40372213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档