Code Monkey home page Code Monkey logo

examples-web-app's Introduction

examples-web-app's People

Contributors

akabekobeko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

examples-web-app's Issues

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

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

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

*:css を修正する

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

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

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

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

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

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

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

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

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

npm-run-all を試す

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

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

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

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

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

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

watchify を試す

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

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

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

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

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

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

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

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

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)

npm を更新する

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

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

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

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

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

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

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

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

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

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

sourcemap 出力をサポートする。

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

Normalize.css を組み込む

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

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

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

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

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.