問題タブ [gruntjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - グローバル NPM モジュールが OS X Mountain Lion で動作しない
私はの良いインストールを持っています
ローカル開発用の OS X 10.8.2 上の Node@v0.8.14 および NPM@1.1.65。
-g
gruntやforeverなど、グローバルのフラグを付けてインストールしようとしたパッケージが端末コマンドとして見つからないことを除いて、すべてが期待どおりに機能します。
いくつかのパスを追加しようとしましたが、これまでのところ何も機能していません...
これが私の基準ですecho $PATH
助けてくれてありがとう!
javascript - grunt.jsを使用して動的ファイル名を生成する
組み込みのgruntタスク(concat
またはmin
)の外部で動的ファイル名を生成することは可能ですか?ドキュメントに記載されているよう<config:concat.dist.dest>
なものを使用しようとしました。<%= dirs.dest %>
しかし、これは解釈/コンパイルされることはなく、文字列を書き出すだけです。
更新: それは私がjakub.gの答えに基づいて試したものです。私のgrunt.jsは次のようになります:
grunt.task.directive('<config:jquery.version>')
を返しますnull
。そのため、ファイル名はjquery-null.js
。
それから試しgrunt.template.process('<%= grunt.jquery.version %>')
てみgrunt.config.process('<%= grunt.jquery.version %>')
ましたが、どれもうまくいきませんでした。
css - GruntJS は外部ファイルを取得できますか?
たとえばindex.css
、別のcssファイルへのリンクが含まれています:
これらのファイルを Grunt JS と連結することは可能ですか?
javascript - jshintは名前にドットが含まれる関数
私はjavascriptファイルでjshintを実行していますが、一部の関数の名前にはドットが含まれています(名前空間の方法として)。特に、私はd3ライブラリを使用しており、次のようなコードがたくさんあります。
未定義の変数を使用するjshintのチェックをオフにする必要がありますか?または、特定の変数名だけがチェックされないようにする方法はありますか。私はプロジェクトを構築するためにgruntを使用しています。
requirejs - requirejs がすべてのソース ファイルを含めないようにして、モジュール ファイルのみを含めるにはどうすればよいですか?
r.js を使用してプロジェクトをビルドすると (grunt で実行していますが、脱線します)、プロジェクトのすべての JavaScript ファイルが醜く圧縮され、ビルド フォルダーに含まれます。単一の JavaScript ファイルに圧縮され、個々の形式では使用されなくなりました。
モジュールを使用しているため、「out」フラグを使用できません b/c 互換性がありません。私は grunt-contrib-clean を使用してすべての余分なファイルをクリーンアップしていますが、そもそもそれらを含めないようにすることができれば理想的です。
これが私のうなり声のoptions.jsです:
ビルドすると、lib フォルダー内のすべてのファイルが含まれ (require.js だけが必要な場合)、すべてのファイルが page1 に結合されていても、page1 と page2 によってインポートされたすべての JavaScript ファイルの醜いバージョンが含まれます。 .js と page2.js。
私は何かを見逃していますか、それともビルド後のクリーンアップは単なる現実ですか?
gruntjs - grunt タスクで変更されたファイルを操作する
重複の可能性:
Grunt.js で複数のファイルを監視し、変更されたファイルに対してのみタスクを実行するにはどうすればよいですか?
タスク内で、たとえば coffeescript コンパイラーで、コードベース全体をコンパイルするのではなく、それらのファイルのみを選択的にコンパイルできるように、変更された正確なファイルを取得するにはどうすればよいですか。
json - 外部のjsonデータを使用して口ひげの部分をコンパイルします
私は内部ドキュメントとテストに口ひげパーシャルを使用しています-この他のSOの質問で説明されているように、gruntタスクで口ひげパーシャルを静的HTMLにレンダリングする方法を説明し、外部jsonファイルを使用してパーシャルデータを駆動したいと思います。jsonファイルはパーシャルと同じ名前になり、パーシャルでコンパイルされるモックデータが含まれます。
これを機能させる方法について何か提案はありますか?
javascript - grunt.js(node.jsビルドツール)はディレクトリやファイルを作成していません。許可関連ですか?
ビルドツールとしてgrunt.jsを使用しています。
私たちの開発マシンの1つ(MacOS Mountain Lion)で、gruntは実行されていますが、ファイルとディレクトリを作成していないようです。
その特定のマシンで異なっていたもう1つの点は、NPMを使用してgrunt用のプラグインをインストールするときに、使用する必要があったことsudo npm
です。そうしないと、アクセス許可エラーが発生しました。
親ディレクトリのアクセス許可を確認し、さまざまなことを試しましたが、何も機能していないようです。NodeJsはまだファイルやディレクトリを作成しません。
何か案は?
アップデート:
どうやらhtml-compressorgruntプラグインは依存関係としてgrunt1.4を必要とします。
javascript - Yeoman と Mocha を使用した NodeJS とクライアント側の完全な統合テスト
Yeoman で実行した素晴らしいクライアント側のテストを取得しました。Yeoman は私の CoffeeScript をコンパイルし、サーバーでテスト ページを開き、PhantomJS でアクセスして、すべてのテスト結果をコマンド ラインに渡します。このプロセスは非常にハックで、テスト結果はalert()
メッセージを介して Phantom プロセスに渡され、Phantom プロセスは一時ファイルを作成し、JSON としてメッセージを入力します。Yeoman (Grunt) は一時ファイルをループし、テストを解析してコマンド ラインに表示します。
プロセスを説明したのは、それにいくつかのことを追加したいからです。サーバー側のテストも受けました。彼らは mocha と supertest を使用して API エンドポイントをチェックし、Redis クライアントを使用してデータベースの状態が期待どおりであることを確認します。しかし、これら 2 つのテスト スイートをマージしたいのです。
サーバー呼び出しに対するクライアント側のモック応答を書きたくありません。サーバーのモックデータを送信したくありません。途中でサーバーまたはクライアントを変更しても、テストは失敗しません。実際の統合テストを行いたい。そのため、クライアント側でテストが終了するたびに、サーバー側で関連するテストを実行するフックが必要です (データベースの状態、セッションの状態を確認し、別のテスト ページに移動します)。
これに対する解決策はありますか?または、代わりに、Yeoman / Grunt / grunt-mocha のどこからハッキングを開始して、これを機能させるのですか?
grunt-mocha の Phantom Handlers は、始めるのに適した場所だと思います。
ありがとう!これには賞金がかかります。
node.js - グラントフォースウォッチ?
私はうなり声の時計でコンパスを実行しています。grunt watchは、開始時に常にタスクを実行するようにしたいです。私はそれをフォースランと呼んでいますが、他の何かと呼ばれるかもしれません。事前に解決していただきありがとうございます。