7

yeoman サーバーを実行 しても、デフォルトでは .htaccess ファイルが認識されないようです。.htaccess ファイルの読み取りを有効にする追加の手順はありますか?

再起動後のヘッダーの設定に明らかな影響を与えずにコメントを外した行は次のとおりです。

    # -------------------------------------------------- ----------------------
    # クロスドメイン AJAX リクエスト
    # -------------------------------------------------- ----------------------

    # クロスドメイン Ajax リクエストを処理します。デフォルトでは無効になっています。
    # enable-cors.org
    # code.google.com/p/html5security/wiki/CrossOriginRequestSecurity

    <IfModule mod_headers.c>
      ヘッダー セット Access-Control-Allow-Origin "*"
    </IfModule>

あるいは、適切な質問は、yeoman サーバーを実行しているときにヘッダーをどのように設定するかということです。おそらくGruntfile.jsに別のオプションがありますか?

4

1 に答える 1

22

grunt server単なる Node.js接続サーバーであり、.htaccess をサポートしていません

ただし、grunt-contrib-connectはカスタム ミドルウェアをサポートしているため、これを Gruntfile.js に追加できます。

var corsMiddleware = function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
  next();
}

grunt.initConfig({
  connect: {
    server: {
      options: {
        middleware: function(connect, options) {
          return [
            // Serve static files
            connect.static(options.base),
            // Make empty directories browsable
            connect.directory(options.base),
            // CORS support
            corsMiddleware
          ];
        }
      }
    }
  }
});
于 2013-01-31T10:09:04.290 に答える