Code Monkey home page Code Monkey logo

examples-web-app's Issues

JavaScript のコメントを英語化する

starter なので広範に参照されることを想定し、英語化する。

英語な苦手だが、プログラミングを初歩から学んだときの経験を思い返すに、書くことが慣れることの近道なので、下手なりになるべく英語で書いてみる。いずれ issue もそうしたい。

個人プロジェクトなのだし、下手な英語でも誰かに迷惑がかかることはないだろう。

Using jsdoc-to-assert

Using azu/jsdoc-to-assert. To test that the type check assert is added in the following function.

  • Normal function
  • Object Property (function)
  • Arrow function
  • ES2015 class
    • constructor
    • method
    • Setter (function)

gulp-usemin サンプルを作成する

gulp-usemin を利用したビルドを試すためのサンプルを作成する。仕様は以下。

  • パッケージ管理に npm と Bower を使用
  • 開発用フォルダは src、リリースは dist とする
  • HTML から参照する css と js は Bower と自作の両方を含める
  • ビルドの際、css と js を concat、minify する
  • dist 上の HTML は css と js の参照が concat、minify されたものへ変更する

grunt-usemin サンプルを作成する

grunt-usemin を利用したビルドを試すためのサンプルを作成する。仕様は以下。

  • パッケージ管理に npm と Bower を使用
  • 開発用フォルダは src、リリースは dist とする
  • HTML から参照する css と js は Bower と自作の両方を含める
  • ビルドの際、css と js を concat、minify する
  • dist 上の HTML は css と js の参照が concat、minify されたものへ変更する

【Browserify】sourcemap 出力をサポートする

sourcemap 出力をサポートする。

gulp でビルドする際、browserify 関数の第二引数となるオプションへ { debug:true } を指定する。npm を追加しなくてもよいらしい。sourcemap でデバッグするなら Browserify の時点で Minify などを実行して gulp-usemin は外してもよさそう ( CSS では使う )。

*:css を修正する

watch:css では watch でファイル監視しつつ CSS コンパイルしているが、Stylus には watch 機能が備わっているので、そちらに切り替える。

また #28 を試したら Source Maps が参照できなくなったので、build:css も修正が必要。

Browserify によるビルドのサンプルを作成する

Browserify によるビルドのサンプルを作成する。

  • Bower でインストールした jQuery を require して呼び出す
  • 自前 JavaScript を require して呼び出す
  • Browsefy による JavaScript モジュール結合 & 単一ファイル化
  • gulp によるビルド
  • ビルドは開発フォルダ用
  • リリースは成果物用

Normalize.css を組み込む

front-end-starter でクロスブラウザの差異吸収をおこなうため、Normalize.css を組みこむ。このプロジェクトでは AltCSS に Stylus を採用しているので bymathias/normalize.styl を利用する予定。

【Browserify】clean と build タスクが同期実行できていない

clean と build タスクが同期実行できていない。

clean は del の第二引数にコールバック関数を受渡しているが、これではダメらしい。コールバック関数そのものをタスク内で呼ぶ必要がある。

build はストリームを返す。browserify 関数から pipe でチェインしているが、それを return すればよい。

npm を更新する

npm を現時点の最新に更新し、ビルドなどに問題がないか確認する。

npm-run-all を試す

gulp なしの Web フロントエンド開発 のコメント欄にて mysticatea さんにすすめられた npm-run-all を試す。

front-end-starter の watch コマンドの連結に適用してみる。これは package.json の scripts に定義されたコマンドを結合実行するものとのこと。watch 系の場合は並列実行したいので -p オプションを利用するのがよい?

watchify を試す

Browserify と組み合わせてインクリメンタルな JavaScript を実現してくれるという watchify を試す。このあいだ作成した IndexedDB プロジェクトを対象とする。

ついでに IndexedDB プロジェクトの JSX を VM になる JS と V とする render のみの JSX に分けてみる。

power-assert による詳細出力が機能していない

example-electron の audio-player プロジェクト開発で気づいた問題。

Util.test.js にて power-assert を import しているが、参照する変数名を assert ではなく Assert にしていることが原因。

gulp 版の starter で gulp-watchify を素の Browserify/wachify に移行する

gulp-watchify は更新が止まっていて参照する Browserify/watchify も古いため、gulpfile.js から素の Browserify/watchify を実行する方法に移行する。

gulpfile.js の処理は長くなるものの、いちど書いたタスクは滅多に変更されないので、さほど問題にはならない。

gulp-plumber を利用できないので、error をハンドリングして自前でコンソール出力する必要あり。

front-end-starter のファイル処理を cpx と rimraf に置き換える

cpx はファイルのコピーなどを提供してくれる。CLI を持ちパスを glob 形式で指定可能。

rimraf はファイルやディレクトリの削除機能を提供する。trash と異なり対象ディレクトリが存在しなくてもエラーにならない。またゴミ箱へ移動するのではなくそのまま削除する。

これらの採用によりファイル処理が簡略化されるはず。

text-align: justify の検証用サンプルを実装する

WebKit 系ブラウザで全角・半角が混在したテキストだと justify の均等割り付けがうまく動かなかったようだが、今日ためしたら Chrome、Safari ともに問題なかった。

そこで現状確認のため、各種ブラウザで justify を検証するためのサンプルを実装する。全角・半角混在、全角のみ、半角のテキストを持ち、ボタンで justify が ON/OFF される HTML を想定。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.