当您查看构建输出时,您会发现几行,例如
呃!jshint 在 linting 时发现 52 个问题 ....
你还会发现像
警告:丢弃未使用的 ....
虽然这些不是关于执行的阻碍,但它们会导致构建返回失败。
这就是 Visual Studio 报告构建失败的原因。
编辑
我使用 ReSharper 做了一些主要的清理工作。
要完全忽略您的 .js 文件 - 您可以从 weyland-config.js 中删除 .task.jshint
还需要提到的是,您的 main-built.js 不会因随附的 weyland-config.js 而变得丑陋
在第一个 .task.uglify 中为 App/mail-built.js 添加一个排除项,并添加一个新的 .task.uglify 作为最后一个任务。main-built.js 的路径必须以 ../ 开头,因为该路径是相对于构建文件夹的。
在 web.config 中的 debug=false 时还发现了问题尚未解决。
我的 weyland-config.js 看起来像这样:
exports.config = function(weyland) {
weyland.build('main')
.task.jshint({
include: 'App/**/*.js',
exclude: 'App/main-built.js'
})
.task.uglifyjs({
include: ['App/**/*.js', 'Scripts/durandal/**/*.js'],
exclude: 'App/main-built.js'
})
.task.rjs({
include:['App/**/*.{js,html}', 'Scripts/durandal/**/*.js'],
loaderPluginExtensionMaps:{
'.html':'text'
},
rjs: {
name:'../Scripts/almond-custom', //to deploy with require.js, use the build's name here instead
insertRequire: ['main'], //not needed for require
baseUrl: 'App',
wrap:true, //not needed for require
paths: {
'text': '../Scripts/text',
'durandal': '../Scripts/durandal',
'plugins': '../Scripts/durandal/plugins',
'transitions': '../Scripts/durandal/transitions',
'knockout': '../Scripts/knockout-3.1.0',
'bootstrap': '../Scripts/bootstrap',
'jquery': '../Scripts/jquery-2.1.1',
'jquery.utilities': '../Scripts/jquery.utilities',
'toastr': '../Scripts/toastr',
'stashy': '../Scripts/stashy'
},
inlineText: true,
optimize: 'none',
pragmas: {
build: true
},
stubModules: ['text'],
keepBuildDir: true,
out:'App/main-built.js'
}
})
.task.uglifyjs({
include: ['../App/main-built.js']
});
}