【问题标题】:yeoman how to set headers (.htaccess?)yeoman 如何设置标题(.htaccess?)
【发布时间】:2013-01-31 01:42:39
【问题描述】:

运行 yeoman 服务器 默认情况下似乎无法识别 .htaccess 文件。是否有额外的步骤可以读取 .htaccess 文件?

以下是我取消注释的行,重启后对设置标题没有明显影响:

#------------------------------------------------ --------------------- # 跨域 AJAX 请求 #------------------------------------------------ --------------------- # 服务跨域 Ajax 请求,默认禁用。 # enable-cors.org # code.google.com/p/html5security/wiki/CrossOriginRequestSecurity 标头集 Access-Control-Allow-Origin "*"

或者也许正确的问题是在运行 yeoman 服务器时如何设置标头?还有其他选择吗,也许在 Gruntfile.js 中?

【问题讨论】:

    标签: node.js yeoman gruntjs


    【解决方案1】:

    grunt server 只是一个 Node.js connect 服务器,不支持 .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
              ];
            }
          }
        }
      }
    });
    

    【讨论】:

    • Yeoman 1.0 有什么更新以及如何支持 Connect 中间件?
    • 谢谢!您能否提供一个链接或解释 corsMiddleware 的选项以及如何使用它来模仿传统的 .htaccess 文件设置。尤其是将其用作前端 ajax 模拟 api 服务器
    • corsMiddlware 只是我为您创建的自定义中间件。没有选项。中间件是允许您修改请求的简单代理。在这个例子中,它只是添加了一些标题。但是你可以做更强大的事情。我建议您阅读 Connect 中间件:google.com/search?q=connect+middleware
    • 这是添加在根 Gruntfile.js 中还是在 node_modules/grunt-contrib-connect/Gruntfile.js 中?我都试过了,但都没有成功。我正在尝试从我的开发机器连接到 MongoHQ。
    • 它应该被添加到 your Gruntfile.js (root)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 2023-03-05
    • 2012-03-16
    相关资源
    最近更新 更多