1

我已經改變了內部的「www」的文件夾結構,即感動「SCSS」文件夾中的文件夾「資產」,創造了一個「應用程序」文件夾等。現在,當我試圖運行:如何讓Ionic知道項目結構的變化?

ionic setup sasshttp://ionicframework.com/docs/cli/sass.html),

它在「www」而不是「www/assets」中創建「css」文件夾。

如何更新結構變化上的離子?我已經設法更新「.bowerrc」,所以它知道把軟件包放在哪裏,但只有Bower知道新的項目結構。

"www" Structure

+0

如果您認爲它解決了您的問題,請隨時接受答案:-) – LeftyX

回答

4

你可以使用你想爲你的CSS文件夾什麼。
你必須改變的一件事是在gulpfile.js吞氣任務:

gulp.task('sass', function(done) { 
    gulp.src('./scss/ionic.app.scss') 
    .pipe(sass({ 
     errLogToConsole: true 
    })) 
    .pipe(gulp.dest('./www/css/')) 
    .pipe(minifyCss({ 
     keepSpecialComments: 0 
    })) 
    .pipe(rename({ extname: '.min.css' })) 
    .pipe(gulp.dest('./www/css/')) 
    .on('end', done); 
}); 

正如你可以看到它變換SCSS文件ionic.app.scss在目標文件夾./www/css/

.pipe(gulp.dest('./www/css/')) 

這就是你必須用新路徑改變的代碼位。

不要忘了新的路徑來改變你的的index.html還有:

你不必改變ionic.project文件,因爲它已經包含的所有文件在www文件夾(和子文件夾)中,不包括www/lib(和子文件夾);看到ref

LiveReload

默認情況下,LiveReload會監視您的www /目錄的變化, 不包括WWW/lib中/。

UPDATE:

也許有人有興趣更改根文件夾www。我們可以做到這一點,但我們必須指示離子使用不同的名稱。

ionic.project已經得到了一個附加屬性:documentRoot

{ 
    "name": "myApp", 
    "app_id": "", 
    "documentRoot": "app", 
    "gulpStartupTasks": [ 
    "sass", 
    "watch" 
    ], 
    "watchPatterns": [ 
    "app/**/*", 
    "!app/lib/**/*" 
    ] 
} 

Serving an alternate document root給出的主題的更多信息。

+1

感謝您的答覆。我想我還必須修改「ionic.project」文件?要:''watchPatterns「:[」www/assets/**/*「,」!www/assets/lib/**/*「]'。 – Arthur

+1

是的,如果你想讓'ionic serve'任務在你的項目中使用sass文件正確地重新加載。它觀察這個模式數組中的文件以進行更改並自動觸發sass重建。 –

+0

@Arthur:實際上,沒有,因爲它已經包含www中的所有內容www/lib – LeftyX