2016-02-18 63 views
2

我有一个ASP.NET Core RC1项目不再正确发布(请参见下面的发布跟踪输出)。在project.json中定义的预发布脚本中的gulp min任务正在导致该错误。如果我删除它,项目会正确发布,但不会缩小js和css文件。发布ASP.NET Core项目时出错

"scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] 
} 

我已经把另一个Web项目的解决方案,并发布没有错误,所以我认为,消除环境问题。但是,我看不出测试项目和失败测试项目之间的任何实质性差异。

我也删除了失败项目中的node_modules文件夹,强制Visual Studio再次下载所有npm包。

最后,我在VS命令提示符下面的trace中运行了dnu publish命令,这也失败了。

任何人都可以告诉我什么问题是从下面的错误跟踪,请?

Connecting to C:\svn\Client Applications\yyy\xxx\src\xxxWeb\..\..\artifacts\bin\xxx.Web\Release\PublishOutput... 
Environment variables: 
Path=.\node_modules\.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\git 
C:\Users\ptayl_000\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin\dnu.cmd publish "C:\svn\Client Applications\yyy\xxx\src\xxxWeb" --out "C:\Users\ptayl_000\AppData\Local\Temp\PublishTemp\xxx.Web104" --configuration Release --no-source --runtime dnx-clr-win-x86.1.0.0-rc1-final --wwwroot "wwwroot" --wwwroot-out "wwwroot" --iis-command "web" --quiet 
Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16202 
Executing script 'prepublish' in project.json 
v0.10.31 
npm WARN package.json [email protected] No description 
npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] No README data 
[07:36:31] Using gulpfile C:\svn\Client Applications\yyy\xxx\src\xxxWeb\gulpfile.js 
[07:36:31] Starting 'clean:js'... 
[07:36:31] Starting 'clean:css'... 
[07:36:31] Finished 'clean:js' after 1.68 ms 
[07:36:31] Finished 'clean:css' after 1.99 ms 
[07:36:31] Starting 'clean'... 
[07:36:31] Finished 'clean' after 9.03 μs 
[07:36:32] Using gulpfile C:\svn\Client Applications\yyy\xxx\src\xxxWeb\gulpfile.js 
[07:36:32] Starting 'min:js'... 
[07:36:32] Starting 'min:css'... 
[07:36:32] Finished 'min:css' after 61 ms 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : events.js:72 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :   throw er; // Unhandled 'error' event 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :    ^
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : Error 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at new JS_Parse_Error (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:196:18) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at js_error (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:204:11) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at croak (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:675:9) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at token_error (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:683:9) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at expect_token (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:696:9) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at expect (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:699:36) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:1252:13 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:722:24 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at expr_atom (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:1182:35) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error :  at maybe_unary (C:\svn\Client Applications\yyy\xxx\src\xxxWeb\node_modules\gulp-uglify\node_modules\uglify-js\lib\parse.js:1358:19) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(152,5): Error : The 'prepublish' script failed with status code 8. 

2>Publish failed due to build errors. Check the error list for more details. 

更新gulp min任务包含下面的代码(从gulp.js):

gulp.task("min:js", function() { 
    return gulp.src([paths.js, "!" + paths.minJs], { base: "." }) 
     .pipe(concat(paths.concatJsDest)) 
     .pipe(uglify()) 
     .pipe(gulp.dest(".")); 
}); 

UPDATE2:event.js

var rx = require("rx"); 

function normalizeKeypressEvents(args) { 
    return { value: args[0], key: args[1] }; 
} 

module.exports = function(rl) { 
    return { 
    line: rx.Observable.fromEvent(rl, "line"), 

    keypress: rx.Observable.fromEvent(rl, "keypress", normalizeKeypressEvents), 

    normalizedUpKey: rx.Observable.fromEvent(rl, "keypress", normalizeKeypressEvents).filter(function (e) { 
     return e.key && (e.key.name === "up" || e.key.name === "k"); 
    }).share(), 

    normalizedDownKey: rx.Observable.fromEvent(rl, "keypress", normalizeKeypressEvents).filter(function (e) { 
     return e.key && (e.key.name === "down" || e.key.name === "j"); 
    }).share(), 

    numberKey: rx.Observable.fromEvent(rl, "keypress", normalizeKeypressEvents).filter(function (e) { 
     return e.value && "123456789".indexOf(e.value) >= 0; 
    }).map(function(e) { 
     return Number(e.value); 
    }).share(), 

    spaceKey: rx.Observable.fromEvent(rl, "keypress", normalizeKeypressEvents).filter(function (e) { 
     return e.key && e.key.name === "space"; 
    }).share(), 

    }; 
}; 
+0

您在错误列表选项卡中遇到什么错误? –

+0

与上面跟踪中以“c:\ Program Files ...”开头的相同。 –

+0

你能发布你的gulp min任务的内容吗? –

回答

1

原来,这是一个一块应用程序JavaScript是causin g“gulp min”任务失败。罪魁祸首是以下看似无害的一段代码:

$http.get(uri, { params: { config } }).then(function (data) { 
    return data; 
}); 

我仍然无法看到任何问题,但随着代码变得多余,我删除,并解决了这个问题的方式。

1

我得到相同的问题(即使在相同的行号)。保罗自己的回答给了我一个线索,要仔细看看我自己的.js

我注释掉了大部分文件,然后逐步取消注释了代码块,直到错误恢复。

而这个有问题的代码? 这是使用模板串线是问题:

rtUl.insertAdjacentHTML("beforeend", `<li>${el.toString()}</li>`); 

更改回简单的串连工作:

rtUl.insertAdjacentHTML("beforeend", "<li>" + el.toString() + "</li>"); 

看来,丑化无法读取字符串模板(还)。