2015-08-13 18 views

cevap

21

Phoenix framework, varlık borusu için brunch kullanır. docs itibaren

:

yerine kendi varlık boru hattının uygulanması

Phoenix Brunch, hızlı ve geliştirici dostu varlık aracı inşa kullanır. Phoenix, Brunch için varsayılan bir konfigürasyon ile birlikte gelir ve kutudan çıkacaktır, ancak bunu ihtiyaçlarına göre bükmek çok kolaydır, CoffeeScript, TypeScript veya LESS gibi çeşitli script ve stil dilleri için destek ekleyin.

, SASS desteği eklemek proje kök in package.json içinde 'küstahlık-kahvaltısı' eklemek için:

{ 
    "repository": { 
    }, 
    "dependencies": { 
    "brunch": "^1.8.1", 
    "babel-brunch": "^5.1.1", 
    "clean-css-brunch": ">= 1.0 < 1.8", 
    "css-brunch": ">= 1.0 < 1.8", 
    "javascript-brunch": ">= 1.0 < 1.8", 
    "sass-brunch": "^1.8.10", 
    "uglify-js-brunch": ">= 1.0 < 1.8" 
    } 
} 

Sonra npm install çalıştırın.

Phoenix çerçevesi, varsayılan olarak brunch olmaksızın varlık yönetimini destekler.

yeni bir proje oluştururken:

mix phoenix.new

Brunch yapılandırması olmadan bir proje yaratacak no-Brunch my_project. Yapılı öğeleri priv/static/'a kopyalayabilen bir sistem kurmanız ve ayrıca kaynak dosyalarınızı her değişiklikte otomatik derleme yapmak için izlemeniz gerekir. Daha fazla bilgi için docs'u okuyun.

6

Google beni burada buldu ve @emaillenin yanıtı işe yaramadı (varsayılan Phoenix 1.0.4 kullanıyorum), bu yüzden başka bir şey bulmak zorundaydım.

hüner

npm install --save [email protected]^1.9.2 

Görünüşe göre, sass-brunch 2.0 sonra bir şeyler kırdı ve o anka sevk brunch sürümüyle artık çalışmıyor yapmaktır.

Bu yardımcı olur umarım!

+3

dava. Şu an itibariyle, sass-brunch [2.9.0] 'un en yeni versiyonu, phoenix ile birlikte gelen brunch versiyonu ile uyumludur. Buradaki ayar [burada] (https://github.com/phoenixframework/phoenix/commit/d046399e1264614b2d6282ef3fefaab2ffbee6d9) –

16

İşte taahhüt olarak aldım adımlarla bir çalışma demo Repo var:

https://github.com/sergiotapia/phoenix-sass-example


Eğer sass-brunch düğüm paketini yüklemeniz gerekir, SUKDÖ/SCSS kullanın.

npm install --save sass-brunch 

Ardından brunch-config.js böylece eklentileri bölümünde şöyle düzenleyin: Bir kez sen yapmak

// Configure your plugins 
plugins: { 
    babel: { 
    // Do not use ES6 compiler in vendor code 
    ignore: [/web\/static\/vendor/] 
    }, 
    sass: { 
    mode: "native" // This is the important part! 
    } 
}, 

, herhangi .sass veya .scss dosyaları sorunsuz çalışacak.

+0

Varsayılan olarak, phoenix, css ve js dosyalarını 'priv/static /' dizinine derler. Bu yüzden her şeyin çalıştığından emin olmak için orada kontrol ettiğinizden emin olun. – thedanotto

+0

'native', Sass motorunun C/C++ bağlantı noktası olan LibSass'ı kullanır. – ivanxuu

+0

Neden "native" in önemli bir parçası olduğunu kullanmanızı öneriyorsunuz? – Rich

5

Buradaki bazı cevaplar, brunch-config.js, others package.json. Phoenix 1.3 uyumluluk sorunları çözülürse, hem npm install hem de brunch'u kullanmak mümkündür.

brunch-configplugins bölümüne sass ekleyin:

// brunch-config.js 
plugins: { 
    sass: { 
    mode: "native" // This is the important part! 
    } 
} 

Ekle sasspackage.json için devDependencies bölümü:

// package.json 
{ 
    "devDependencies": { 
    "sass-brunch": "2.10.4" // check latest version on sass-brunch page 
    } 
} 

Sonra Sadece bu artık belirterek

cd assets 
npm install 
+2

Canlı yeniden yükleme için * sass * dosyalarını da izlemek üzere 'config/dev.exs' öğesini güncellemek için (isteğe bağlı) unutmayın. Örn: '~ r {priv/static /.* (js | css | png | jpeg | jpg | gif | svg | sass) $},' – ivanxuu

İlgili konular