配置Grunt连接服务器的别名目录
Configure alias directory for Grunt connect server
我的源代码中有一些文件夹,我想通过grunt任务使用connect来提供这些文件夹。我的文件夹结构如下。。。
- /
- /src
- index.jade
- /样式
- main.css
- /dist
- index.html
- /文档
- index.html
我的咕噜声配置看起来像这样。。。
grunt.initConfig({
connect: {
options: {
port: 8080,
hostname: '0.0.0.0',
livereload: 35729
},
app: {
options: {
middleware: function (connect) {
return [
connect.static(require('path').resolve(pkg.paths.dist)),
connect.static(require('path').resolve(pkg.paths.src)),
connect.static(require('path').resolve(pkg.paths.docs))
];
}
}
},
}
})
启动服务器并访问http://localhost:8080/
会给我来自dist
的index.html
文件,该文件是从index.jade
编译而来的,它指的是main.css
,它是由src
尽职尽责地提供的。这一切都很好,效果很好。
现在我想从docs
访问index.html
文件,但访问的是一个别名url,所以是http://localhost:8080/mycustomurl
。我不想把我的文档放在子文件夹中,我只想配置connect来服务docs
目录中与mycustomurl
匹配的URL。
如何修改我的配置以实现这一点?
使用自定义中间件。middleware
选项期望一个函数返回一个中间件数组。
custom_middleware: {
options: {
middleware: function(connect, options, middlewares) {
return [connect.static(require('path').resolve(pkg.paths.dist)),
connect.static(require('path').resolve(pkg.paths.src)),
function (req, res, next) {
if (req.url !== '/custom/url') {
next();
return;
}
// res.sendFile(pkg.paths.docs + '/index.html');
// you can access the "anything.html" by parsing the req.url
var file = req.url.split('/');
file = file[file.length-1];
res.sendFile(pkg.paths.docs + file);
}
];
}
}
}
有关更多配置选项,请参见Gruntfile示例。
相关文章:
- 使用JSP从服务器检索和显示图像
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 客户端服务器REST API captcha实现
- 正在将base64 jpeg从input-type=file上传到服务器
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 使用jasmine模拟对服务器的调用
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 如何使用Javascript将空数组发送到PHP服务器
- 如何在HTML中显示服务器对象变量
- 如何配置分析以将数据发送到我自己的服务器
- 我无法使用angularJs($http)访问服务器
- NodeJS电子邮件别名服务器
- 配置Grunt连接服务器的别名目录
- jQuery.ajax在使用“”中定义的别名时找不到服务器;主机”;文件,但可以用ip地址修复