我正在构建一个gulpfile文件,用于我的aps.net winforms项目。到目前为止,我在package.json中有以下内容
{
"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"
}
}而吞咽的文件
/// <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');后开始
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");,我得到了另一个错误..。
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)有人知道我为什么要得到这个吗?
提前感谢!
发布于 2016-11-15 06:02:01
我的问题是,我没有意识到Visual有自己的(过时的)节点工具版本(安装在Visual文件夹中的某个地方)。多乱啊!
为了使它能够使用“全局”节点工具,我可以转到菜单Tools \ Options {##**$$}项目和解决方案外部Web Tools,并将$(PATH)移动到位于$(DevEnvDir)\*位置之前。在我这么做之后,我的Gulp文件就会加载。
另一种选择可能是通过Tools类扩展和更新更新Visual节点工具,但是(我想)我更喜欢使用Visual之外使用的相同的外部工具。
发布于 2016-11-06 13:45:29
经过一些调查,我也面临同样的问题,这似乎是一个版本兼容性的问题,您的nodejs安装,和您的软件包依赖“带状-bom”。
一个临时解决方案是从以下几个方面进行更改:
module.exports = x => {至:
module.exports = function (x) {您可能需要检查一下:Gulp-Sourcemaps, SyntaxError: Unexpected token >
这似乎解决了我的问题,但不是一个很好的方法。
问题是,您可能正在运行一个旧版本的节点。尝试使用命令node -v或nodejs -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
https://stackoverflow.com/questions/40372213
复制相似问题