私はgruntjsの使用を推進する方法を学んでいます。サーバータスクを見つけましたが、要点がわかりません。
サーバータスクマッピングの連結/縮小ファイルを使用して、ソースファイルをWebサーバールートに移動または配置せずにアプリケーションをテストできますか(backbone.jsを使用)?たとえば、apacheなし。
いいえの場合、サーバータスクの想定される使用法は何ですか?
このserver
タスクは、base
パスをWebルートとして設定して静的サーバーを起動するために使用されます。
例:次./web-root
のように機能しhttp://localhost:8080/
ます:
grunt.initConfig({
server: {
port: 8080,
base: './web-root'
}
});
Apacheサーバーと同様に機能し、パスに基づいて静的ファイルを提供しますが、接続を介してhttpモジュールを使用してセットアップします(ソース)。
静的ファイル以外のものを提供する必要がある場合は、カスタムタスクの定義server
を検討することをお勧めします。
grunt.registerTask('server', 'Start a custom web server.', function() {
grunt.log.writeln('Starting web server on port 1234.');
require('./server.js').listen(1234);
});
そしてカスタムサーバーインスタンス:
// server.js
var http = require('http');
module.exports = http.createServer(function (req, res) {
// ...
});
サーバータスクマッピングの連結/縮小ファイルを使用してアプリケーションをテストできますか[...]
連結と縮小には独自の専用タスク(concat
および)がありますが、3つすべてを実行するタスクとmin
一緒に使用できます。server
サーバーをしばらく(およびうなり声を上げて)永続化する場合は、タスクを非同期として定義できます(サーバーの'close'
イベントを使用)。
grunt.registerTask('server', 'Start a custom web server.', function() {
var done = this.async();
grunt.log.writeln('Starting web server on port 1234.');
require('./server.js').listen(1234).on('close', done);
});
これ
server
でタスクがタスクになり、パッケージconnect
に含まれます。grunt-contrib-connect
connect
タスクは接続Webサーバーを開始します。
次のコマンドでこのプラグインをインストールします。
npm install grunt-contrib-connect --save-dev
注:
--save-dev
パッケージがに含まれています。https://npmjs.org/doc/install.htmldevDependencies
を参照してください。
プラグインをインストールすると、次のJavaScript行を使用してGruntfile内でプラグインを有効にできます。
grunt.loadNpmTasks('grunt-contrib-connect');
コマンドを使用してこのタスクを実行しますgrunt connect
。
このサーバーは、gruntが実行されている間のみ実行されることに注意してください。gruntのタスクが完了すると、Webサーバーは停止します。この動作はkeepalive
オプションで変更でき、のようなタスクを実行することでアドホックに有効にできますgrunt connect:targetname:keepalive
。targetname
以下のコードサンプルの「サーバー」と同じです。
この例では、grunt connect
(またはより詳細にgrunt connect:server
)、で静的Webサーバーを起動しhttp://localhost:9001/
、そのベースパスをwww-root
Gruntfileに相対的なディレクトリに設定し、その後に実行されるすべてのタスクがそれにアクセスできるようにします。
// Project configuration.
grunt.initConfig({
connect: {
server: {
options: {
port: 9001,
base: 'www-root'
}
}
}
});
サーバータスクのポイントは、テスト用の静的ファイルにすばやくダーティアクセスできるようにすることです。gruntサーバーは実稼働サーバー環境ではありません。実際には、静的なテスト資産をテスト環境に取り込むために、うなり声のライフサイクル中にのみ使用する必要があります。実稼働環境では、NPMライフサイクルスクリプトによって制御される可能性のある本格的なサーバーを使用します。