node.js - yeoman 如何设置标题(.htaccess?)

标签 node.js yeoman gruntjs

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

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

    # ----------------------------------------------------------------------
    # Cross-domain AJAX requests
    # ----------------------------------------------------------------------

    # Serve cross-domain Ajax requests, disabled by default.
    # enable-cors.org
    # code.google.com/p/html5security/wiki/CrossOriginRequestSecurity

    <IfModule mod_headers.c>
      Header set Access-Control-Allow-Origin "*"
    </IfModule>

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

最佳答案

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
          ];
        }
      }
    }
  }
});

关于node.js - yeoman 如何设置标题(.htaccess?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14617111/

相关文章:

javascript - React/Webpack - 从 webpack 1 迁移到 4,配置对象无效

node.js - socket.io中的默认pingTimeout和pingInterval是什么

javascript - 如何将多个 HTML 文件加载为 "document",然后使用 Javascript 操作它们?

javascript - Yeoman 使用谷歌应用引擎服务器

coffeescript - 将 CoffeeScript 与基本的 Yeoman 项目一起使用。

dependency-injection - Bower 和 AMD 模块

javascript - 在mongoDB中查询将字符串更改为整数需要很长时间

git - Yeoman 生成器 - 创建远程 github 存储库

angularjs - ASP.NET MVC、AngularJS、Bower 和部署站点文件夹结构

visual-studio - 如何在 Visual Studio.csproj 中的 <Target Name ="AfterBuild"> 中编写内联代码