最近嘗試 webpacker + rails 的設定的時候在引入 bulma 這關就卡了超久,所以決定將我最後的設定分享出來。
第一步:安裝 webpacker + bulma
Gemfile
:
# Gemfile gem 'webpacker'
然後在 terminal
下:
# install webpacker bundle # init rails webpacker:install # install bulma yarn add bulma
第二步:引入 bulma
建立一個新檔案 app/javascript/stylesheets/application.sass
@import '~bulma/bulma'
然後在 app/javascript/packs/application.js
中引入
import '../stylesheets/application'
Webpacker 實際上只會讀入在 app/javascript/packs
下面的 js 檔,所以如果需要讓 webpack 處理 css 的話必須在 js 檔之中讀入。
最後只要在 html 中引入對應的檔案即可
application.html.erb
:
<%= javascript_pack_tag 'application' %> <%= stylesheet_pack_tag 'application' %>
不想看到 warning?
到這裡基本上程式已經可以跑了,我測試過 development 跟 production 都可以正確引入。不過 webpack 在 compile 的時候會出現大量的警告訊息,那是 postcss 所產生的警告。
想刪除警告有兩個解法,如果你不知道什麼是 postcss 也沒有想要使用的話,你可以選擇不要使用。在 config/webpack/loaders/sass.js
裡面找到下面這行然後刪掉就好:
{ loader: 'postcss-loader', options: { sourceMap: true } },
但如果你想要使用 postcss 或是你怕你未來會想用到,可以把剛剛那行改成:
{ loader: 'postcss-loader', options: { sourceMap: true, plugins: (loader) => [ require('postcss-cssnext')({ features: { customProperties: { warnings: false } } }) ] } },
然後在 teminal 中下:
yarn add postcss-cssnext
如此設定就可以讓 postcss 忽略顯示警告,基本上就是個眼不見為淨的概念 XD。