在项目文件夹外配置 gulp 捆绑目标文件夹
Configure the gulp bundling destination folder outside the project folder
我们已经使用 gulp 流程(使用 aurelia-bundler)捆绑了我们的应用程序。截至目前,捆绑过程目标文件夹位于名为 "dist" 的项目文件夹中。我们需要将目标文件夹放在项目文件夹之外
gulp.task('bundle', function (callback) {
runSequence('unbundle',
'bundle-config',
'copy-app-files',
'compress',
function () {
});
});
理论上,您只需更改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
,阻止您为其发送任何附加参数 =/。
解决上述问题的方法之一是删除导出的第36行-release.js:
// 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
任务,以便从 vinyl-paths.
中删除它的依赖性
希望对您有所帮助!
我们已经使用 gulp 流程(使用 aurelia-bundler)捆绑了我们的应用程序。截至目前,捆绑过程目标文件夹位于名为 "dist" 的项目文件夹中。我们需要将目标文件夹放在项目文件夹之外
gulp.task('bundle', function (callback) {
runSequence('unbundle',
'bundle-config',
'copy-app-files',
'compress',
function () {
});
});
理论上,您只需更改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
,阻止您为其发送任何附加参数 =/。
解决上述问题的方法之一是删除导出的第36行-release.js:
// 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
任务,以便从 vinyl-paths.
希望对您有所帮助!