2016-05-14 29 views
2

我正在使用Swiip/generator-gulp-angular,我希望將兩個單獨的SPA(index.html)內置到dist文件夾中。generator-gulp-angular - 多個應用程序

gulp servegulp dist:serve建立這兩個水療,第一將建成爲dist/index.html和第二將建成爲dist/app2/index.html假設app2被定義爲另一源文件夾,類似於src文件夾。

如果任何人都可以指導我如何修改[Swiip/generator-gulp-angular]或指向另一個吞嚥解決方案,那將是非常值得高度讚賞的。

UPDATE 我想我可以創建兩個子目錄APP1和與Swiip/generator-gulp-angular生成APP 2。每個文件夾將被配置爲將目標轉儲到項目的根文件夾內的dist目錄中的子目錄。然後我可以創建一個帶有任務的gulp文件,分別調用這兩個項目的構建。我希望它會起作用。

+0

爲什麼你需要那個? –

+0

我想完成單獨的前端項目,並使用[Heroku提供靜態內容](https://github.com/adityabansod/static-heroku-node)從相同的域中爲它們提供服務,這使我可以構建並部署它們git推。我可以停止使用Heroku,但我想避免它,因爲它簡化了git部署和託管。 – naviram

+0

我可以使用S3並分別使用[gulp s3 package for deployment]部署項目(https://www.npmjs.com/package/gulp-s3)。但後來我無法真正支持不支持GZIP的瀏覽器,[見這裏](https://www.alfajango.com/blog/how-to-combine-gzip-plus-cdn-for-fastest-page-loads ),這是很好的,但部署將不會自動將Heroku直接連接到git分支。 – naviram

回答

1

從我的理解:

你想一飲而盡任務,這將運行都建立任務和一個build文件夾複製到其他build文件夾內的目錄

所以,如果buildApp1buildApp2是APP1和APP2的構建任務分別是這樣的:

gulp.task('buildApp1', ['html1', 'fonts1', 'other1']); 
gulp.task('buildApp2', ['html2', 'fonts2', 'other2']); 
// renamed default build tasks from generator (ref: gulp/build.js) 

這些任務將建立在每個應用程序目錄中的dist/文件夾(你可能要重命名的文件夾,如爲了簡化起見,參照distApp1/distApp2/,參見conf.js)。

然後我們在默認build組合這些任務:

gulp.task('build', ['buildApp1', 'buildApp2', 'copy']); 
//notice the copy task at the end 

請注意,我們已經完成了我們把它重新命名爲buildApp1和buildApp2

而且這裏有兩個構建任務應該是副本任務用build.js文件編寫

// The task for copying buildApp1 to innerdirectory of buildApp2 folder 
gulp.task('copy', function(){ 
    return gulp.src(['distApp1/**/*'], {base:"."}) 
    .pipe(gulp.dest(' /innerfolder')); 
}); 
// distApp1 and distApp2 are the generated folders. 

這只是概述。仍然必須從現有文件中自己創建兩個構建任務,您可以通過重命名和調整來輕鬆完成這些任務。

+0

Asim,謝謝,看來它應該工作,讓我試試看。我有兩個改進的建議:1.代替複製html1,html2等的粘貼代碼...我可以創建配置任務(configApp1/configApp2)並將構建任務定義爲:'gulp.task('build', ['configApp1','html','fonts','other','configApp2','html','fonts','other','copy']);'。 2.爲什麼我需要該副本?我可以直接將app2的dist路徑配置爲distApp1/innerfolder。你認爲這是一個好的計劃嗎? – naviram

+0

Asim,我用'gulp.task('build',gulpSequence('configApp1','html','fonts','other','configApp2','html','fonts','other '));'爲了避免並行性問題,配置是棘手的,但我解決了它,在我目前試圖解決的server.js中有很多依賴項。 – naviram

+0

是的,我認爲這是很好的計劃。如果你解決它,你可以自己編輯答案。樂意效勞。 –