Gulp も Webpack も疲れたよ…。 そんな感じなので現在、npm-scriptでフロントエンドの環境構築を進めています。 全体の目次 PostCSS編 HTML編 Javascript編 こんな感じでどんどん書いていければいいと思います。 PostCSSの環境構築 まずは、postcss-cliをインストール 公式ドキュメントは以下 npm - PostCSS CLI github - postcss/postcss-cli
(筆者は今では積極的にはこの手法を使っていません。詳しくは追記をご覧ください。) elm-cssライブラリのCSS生成機能とelm-css-webpack-loaderを用いることで、CSS in Elm のさまざまな恩恵にあずかれます。 はじめに なぜ CSS in Elm が必要か CSS in JS という言葉が、React界隈で使われるようになっていくらか経ちました。 CSS in JS は、本来 CSS で記述するスタイルを JavaScript で書いてしまうことで、名前空間やネスト構造が使えない不便なCSSから解放されることを目的にしています。 Elm で CSS in JS (Elm) を採用することで、従来のCSSによるスタイルにおける以下の問題を解決できます。 a. スタイルの記述が Elm コンポーネントとは別のファイルになって、配布しづらい b. CSS に名前空間
this.processing = new Promise(function (resolve, reject) { ^ ReferenceError: Promise is not defined at LazyResult.async (/Users/xxx/app/node_modules/postcss/lib/lazy-result.js:152:31) at LazyResult.then (/Users/xxx/app/node_modules/postcss/lib/lazy-result.js:75:21) at DestroyableTransform._transform (/Users/xxx/app/node_modules/gulp-autoprefixer/index.js:24:6) at DestroyableTransform.Transform._re
はじめに CSS3のアニメーションなど新し目のものを使おうとするとベンダープレフィックス(-webkit-hogehoge)みたいなのをつけないといけない時があるよね? ベンダープレフィックスをつけるとこんな感じで同じようなことを各ブラウザ向けに何度も書かなければならなくなってしまう。 animation: spin 1s infinite linear; -webkit-animation: spin 1s infinite linear; このベンダープレフィックスを意識していちいちこのプロジェクトで対応するブラウザにはこのCSSにはこのプレフィックスが必要なんて考えたりするのって生産性が悪いよね? それにシンプルなコードにならない。 そこでベンダープレフィックスを自動でつけてくれるAutoprefixerなんだけど、基本的にGulpやWebpackなどフロントエンドのツールに組み込ん
React の Style Sheets は コンポーネントに設定すると効果的です。 また Style Sheets も Hot Module Replacement が利用できるので便利です。 前回 のアプリケーションに PostCSS を追加してみましょう。 Learning Style Sheets の Hot Module Replacement を利用する。 CSS Modules で ローカルスコープ を利用する。 PostCSS で SCSS や Sass の機能を利用する。 Environment node: v4.4.5 npm: v3.9.6 Comment Box Form 完成される Source Code のファイルリストです。 $ tree -a -I node_modules . ├── .babelrc ├── app │ ├── actions │
最近はSassからPostCSSへ移行する流れがあり、乗っかってみました。 ついでにstylelintでCSSの構文チェックできる設定もしたのでまとめて紹介します。 PostCSSとは PostCSS自体を説明するには難しいですが目的としては と捉えてもらえば良いかと思います。 具体的に何ができるかというと 仕様策定中の次世代CSSの先取り ベンダープレフィックスの自動付与 独自拡張機能の追加 ファイルの結合・圧縮 などが挙げられます。 Sassとの比較 なぜSassからPostCSSへ移行する流れがあるかというと トランスパイル時間が短い 仕様策定中の次世代CSSを先取りできる 独自機能を追加できる などが挙げられます。 上記がメリットとならない場合は無理に導入する必要はないと思います。 例えば、すでにSassを導入していてスムーズに運用できているのであれば移行する必要はあまりなさそうで
最近、PostCSSを使い始めていますが、PostCSS Utility Libraryが物凄く使えるので紹介します。 PostCSSを使うなら必ず入れておきたいパッケージです。 PostCSS Utility Libraryとは 公式サイト パッケージサイト 公式によると postcss-utilities is a PostCSS plugin that have the most used mixins, shortcuts and helpers to use as @util rules in yours stylesheets. google翻訳すると 「postcss-utilitiesはあなたのスタイルシートで@utilルールとして使うために最もよく使われるmixins、ショートカット、ヘルパーを持つPostCSSプラグインです。」 って翻訳されました。そういうことです。
自分のサイトのSCSSをPostCSSに書き換えたので、そのときに調べたことをメモしておく。プラグインパックであるcssnextはなにがどう変換されているか把握できなくなりそうなので使わずに、個別でインストールしていく方針。どんなサイトでも基本的に使うだろうな、というものだけメモしておく。 ここで書いたもので不足を感じたときにReadmeに書かれているものなりPostCSS.partsにあるプラグインを試せばいいとおもう。ただ最後にもすこし触れるけど、なんでも便利そうだからと入れて使うのはやめたほうがいいとおもう。 SCSSからの移行であればprecssがよさそう。ただ自分が使ったときはcssnanoと併用したときに、importしたファイルをうまくminifyできていませんでした。 プラグイン 記法 postcss-import @importしたファイルを展開する。最初によみこまないと
URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
このAdvent Calendarについて 一人React.js Advent Calendar 2014 のマネをして、PostCSSについてAdvent Calendar形式で説明していきます。「PostCSSとは何か」や、実行の方法のような基本的なところから、PostCSSプラグインの紹介、PostCSSのAPIを使ってプラグインやツールの作り方 といったところまで書いていこうと思います。 僕はPostCSSを開発当初から追いかけていて、自分でいくつかプラグインやツールを作ったり、WEB+DB PRESS に寄稿したり、勉強会などで発表したりしています。このAdvent Calendarの大まかな流れは、東京Node学園祭2016 での発表と同じで、基本的な使い方とPostCSSのプラグインとAPIを追加したものとなります。 「PostCSS: Build your own CSS
// parse.js const fs = require('fs') const util = require('util') const postcss = require('postcss') const css = fs.readFileSync('./input.css') const ast = postcss.parse(css) console.log(util.inspect(ast, false, null)) $ node parse.js Root { raws: { semicolon: false, after: '\n' }, type: 'root', nodes: [ Rule { raws: { before: '', between: ' ', semicolon: true, after: '\n' }, type: 'rule', nodes:
PostCSSには2日目で説明した、ASTを簡単に操作するためのAPIが用意されています。ASTはJavaScriptのオブジェクトなので、JavaScriptの構文で直接変換させることもできますが、より便利に、そして効率の良い処理をするためにも提供されているAPIを使います。 また、PostCSSの全てのAPIはAPIドキュメントで確認することができます。 ノードの種類 まずはASTのノードの種類です。PostCSSのASTのノードは以下の5つです。 Rootノード: ASTの1番上のノード(Rootノードは親ノードがない) Ruleノード: 1つのルールセット AtRuleノード: 1つの@ルール Declarationノード: 1プロパティ宣言 Comment: 1つのコメント これらは実装的には PostCSSの Node クラスを継承したもので、Node.type を参照すること
#nodeでsass(っぽく)かく構造化されたcssを書く nodeがインストールされている環境でnode-sassなどを使うと、他コンパイラのinstallが面倒(windowsだけかもしれないが postcssを使うが、よく言われている、cssnextでの書き方をしらない人にとっては、少し記法が違うので新しく覚えるのが面倒。 ということから、どうにかしてnode onlyでsassの記法でcssをかけないかという事を考えてた。 非常に申し訳ないが、自分の環境(すでに.netがインストールされていたりといろいろ前提がある)なのでうまく行かなくても怒らないでください。 要望 要するにまとめると 開発環境はwindowsです(会社ではそっちが主流) sass的に書きたい できればnodeのインストールのみですませたい watchしてほしい(できれば cssを圧縮してほしい 以下要望をまとめる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く