我们使用gulp进程捆绑我们的应用程序(使用aurelia-bundler)。截至目前,捆绑包进程目标文件夹位于名为“dist”的项目文件夹中。我们需要将目标文件夹放在项目文件夹
之外gulp.task('bundle', function (callback) {
runSequence('unbundle',
'bundle-config',
'copy-app-files',
'compress',
function () {
});
});
答案 0 :(得分:1)
理论上,您只需更改 build / paths.js 文件的exportSrvRoot
变量即可。例如:
//var exportSrvRoot = 'export/';
var exportSrvRoot = '../'; //this is outside of the project folder.
现在,gulp export
命令会将文件导出到项目文件夹上方的文件夹中。构建输出(gulp build / bundle)的解决方案是相同的,但您必须更改outputRoot
变量而不是exportSrvRoot
。
然而,这种方法存在问题。由于您的导出文件夹位于项目文件夹之外,因此如果您运行gulp export
,则会收到错误消息,指出gulp.del
无法删除项目文件夹之外的文件夹。这可以通过将其他参数传递给gulp.del
来解决,但该任务使用vinyl-paths来调用gulp.del
,阻止您为其发送任何其他参数= /。
解决上述问题的方法之一是删除export-release.js的第36行:
// use after prepare-release
gulp.task('export', function(callback) {
return runSequence(
'bundle',
//'clean-export', <---- this line
'export-copy',
callback
);
});
这样,gulp export
将不会尝试删除该文件夹,以防止出错。但现在,您必须在每次运行gulp export
之前手动删除导出文件夹。
解决此问题的另一种方法是重写clean-export
任务,以便从乙烯基路径中删除其依赖关系。
希望这有帮助!