https://durandalauth.azurewebsites.net/
但是,有一个问题是,Weyland驱动的优化失败,因为Visual Studio的Post-Build事件有如下所示的消息
这很奇怪,因为post build事件是这样的:
cd $(ProjectDir) weyland build
从命令行执行时哪个工作正常:
为什么会这样?我在网上搜索,所有我一直在寻找的是一个类似的但是(可能)一个无关的问题,其中一个额外的配置行
"insertRequire: ['main'],"
[编辑]
我正在使用Visual Studio 2013 Pro Update 2,没有插件.
我使用这个url git克隆了GuraHub上DurandalAuth的最新项目:
git clone https://github.com/yagopv/DurandalAuth.git
你可以在这里看到这个项目:
https://github.com/yagopv/durandalauth
我在visual studio中的post-build事件中使用它:
cd $(ProjectDir) weyland build
我的构建的输出可以在这个pastebin中找到:
http://pastebin.com/ezpTEPk7
从Git Clone中可以看出,我正在做的所有事情都没有对原始项目进行任何修改.
解决方法
ERR! jshint Found 52 issues while linting ….
你也会找到像这样的行
WARN: Dropping unused ….
虽然这些不是关于执行的显示,但它们会导致构建返回失败.
这就是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的这条路径必须以../开头,因为路径是相对于build文件夹的.
还发现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}',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'] }); }