您可以使用grunt-connect-rewrite达到目标,只需将其作为最后一个中间件。但我建议使用https://www.npmjs.org/package/http-rewrite-middleware作为更灵活的解决方案...
即最终的解决方案可能是这样的:
var rewriteModule = require('http-rewrite-middleware');
//...
grunt.initConfig({
connect: {
options: {
port: 9000,
hostname: 'localhost'
},
development: {
options: {
middleware: function (connect, options) {
var middlewares = [];
if (!Array.isArray(options.base)) {
options.base = [options.base];
}
var directory = options.directory || options.base[options.base.length - 1];
options.base.forEach(function (base) {
// Serve static files.
middlewares.push(connect.static(base));
});
// Make directory browse-able.
middlewares.push(connect.directory(directory));
// ... everything else here
// RewriteRules support
middlewares.push(rewriteModule.getMiddleware([
{from: '^(.*)-dbg.js', to: '$1.js'}
]));
return middlewares;
}
}
}
}
});