IonicおよびAppgyver Steroidsを使用してプロトタイプ プロジェクトを構築しようとしています。Ionic には、AngularJS の上に構築された非常に優れた UI とテンプレートのセットがあります。また、Steroids は、モバイル アプリをテストするための優れたツールをいくつか提供しています (ローカル テスト用の組み込み Web サーバー、自動デプロイ、weinre デバッグ、エミュレーター統合、実際のデバイスにデプロイして weinre でデバッグするための簡単なワークフロー)。そのため、それらを組み合わせることは、これまでで最も素晴らしいアイデアのように聞こえました。
私は勇敢な試み (詳細は後述) を行いましたが、これは有望に見えます。しかし、Steroids ビルド ツールを実行すると、Ionic の SASS をコンパイルしようとすると、多数のエラーが発生します。
詳細....
ジェネレーター コマンドを使用して、Steroids で新しいプロジェクトを開始しました。
steroids create myApp
次に、Ionic を www/components に次のようにインストールしました。
bower install driftyco/ionic-bower
次に、Ionic スターター プロジェクトの 1 つをダウンロードし、Steroids サンプル コードと手動でマージしました。Ionic コードを使用しましたが、CSS および JS インクルードを www/components にリダイレクトしました。次に、Steroids のサンプル コードからインクルードをコピーしました: steroids.js
, onerror.js
, . さまざまな config.xml ファイルもコピーしました。console.log.js
cordova.js
サンプルコードをどこかにアップロードできますが、それが実際に壊れているとは思いません。背景を提供するのは良い考えだと思いました。フランケンシュタインの怪物をテストするために、次のように実行しました。
steroids connect --serve
これにより、ポート 4000 で小さな Web サーバーが起動し、ブラウザーでそのリンクが開きます。ただし、steroids サーバーの起動時に、SCSS ファイルが検出され、それらをコンパイルしようとします。bower パッケージにはビルド済みのパッケージが含まれているため、実際にコンパイルする必要はありませんが、基本が機能するようになったら、おそらく SASS を使用してアプリのスタイルを設定したいと思うでしょう。
ただし、次のエラーが発生します。
Running "steroids-compile-sass" task
SASS files found, attempting to compile them to dist/...
Running "sass:dist" (sass) task
Syntax error: Undefined mixin 'display-flex'.
on line 8 of www/components/ionic/scss/_button-bar.scss, in `display-flex'
from line 8 of www/components/ionic/scss/_button-bar.scss
Use --trace for backtrace.
Syntax error: Undefined variable: "$checkbox-height".
on line 10 of www/components/ionic/scss/_checkbox.scss
Use --trace for backtrace.
Syntax error: Undefined variable: "$z-index-action-sheet".
on line 27 of www/components/ionic/scss/_action-sheet.scss
Use --trace for backtrace.
Syntax error: Undefined variable: "$line-height-base".
on line 8 of www/components/ionic/scss/_form.scss
Use --trace for backtrace.
Syntax error: Undefined mixin 'button-style'.
on line 9 of www/components/ionic/scss/_button.scss, in `button-style'
from line 9 of www/components/ionic/scss/_button.scss
Use --trace for backtrace.
Syntax error: Undefined mixin 'translate3d'.
on line 19 of www/components/ionic/scss/_animations.scss, in `translate3d'
from line 19 of www/components/ionic/scss/_animations.scss
Use --trace for backtrace.
File "dist/components/ionic/scss/_button-bar.css" created.
Warning: Use --force to continue.
Aborted due to warnings.
Syntax error: Undefined mixin 'badge-style'.
on line 8 of www/components/ionic/scss/_badge.scss, in `badge-style'
from line 8 of www/components/ionic/scss/_badge.scss
Use --trace for backtrace.
Syntax error: Undefined mixin 'display-flex'.
on line 8 of www/components/ionic/scss/_bar.scss, in `display-flex'
from line 8 of www/components/ionic/scss/_bar.scss
Use --trace for backtrace.
したがって、これらの未定義の mixin と変数はすべて、私のコード ベースの と の下www/components/ionic/_mixins.scss
にwww/components/ionic/_variables.scss
それぞれ存在します。これらは両方とも に含まれていwww/components/ionic/ionic.scss
ます。Ionic は、あなたが ionic.scss をコンパイルし、すべてを正しい順序 (合理的) に含めることを期待しているようですが、Steroids (を使用しているようgrunt-contrib-sass
です) は、ディレクトリ内のすべての SCSS ファイルを別の順序でコンパイルしようとしています。 .
では、Steroids を構成する方法、またはgrunt-contrib-sass
単にコンパイルする方法はありますionic.scss
か? もしそうなら、どのように?それに失敗した場合、Steroids で SASS コンパイルを無効にするにはどうすればよいですか?