我從Assetic遷移到一口吞,但它不是一個自動化過程。
在我的情況下,我不得不改變所有的前端架構,使用7--1模式。我還在Symfony項目的根目錄下創建了一個gulp文件。您可以在Resources
文件夾中的某個包中創建該文件夾。
假設你不想改變你的文件的位置,我建議你遵循這個步驟:
- 創建
package.json
運行NPM初始化
- 安裝一飲而盡,browserify和你的需要包。
- 將所有的css/scss文件移動到
app/Resources
文件夾中。把你的資產放在那裏是最好的做法。例如,您可以爲您的樣式創建app/Resources/styles
文件夾,爲您的腳本創建app/Resources/scripts
。
- 在某個包的根目錄或資源文件夾中創建一個gulpfile.js。
將任務編譯成一個scss和js文件。
gulp.task('sass', function() {
return gulp.src('app/Resources/styles/main.scss')
.pipe($.sass())
.pipe(gulp.dest('web/css/'))
});
gulp.task('browserify', function() {
return browserify('app/Resources/scripts/main.js')
.transform("babelify", {presets: ["es2015"]})
.bundle()
.pipe(source('main.js'))
.pipe(gulp.dest('web/js'))
});
的browserify
任務編譯當然,所有的寫在ES6與browserity的JavaScript模塊。
最後,您可以添加觀看任務,但與問題無關。
希望它有幫助。
問候。
謝謝你的回答@Mario。即使在多個名稱空間和捆綁包的項目中,是否將資源放置在應用程序/資源中仍然是最佳實踐? –
我意識到我不是後端開發人員,但我的隊友告訴我有關此最佳做法。你也可以把你的模板放在這個文件夾中。 http://symfony.com/doc/current/best_practices/templates.html –
我試圖解決的主要問題,是一種提取模板中使用的當前資產路徑的方法,並且包含由任務運行者完成的正確路徑。這也可能是一項重大任務。但我不知道如何開始 –