默认情况下,运行 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/