使用connect在Gulp中创建动态服务器
creating dynamic servers in Gulp using connect
在Gulp中创建服务器端口之前,是否可以检查该端口是否被占用?
我现在正在做这个:
/**
* Start LiveReload Server
*/
gulp.task('connect', function() {
var connect = require('connect'),
app = connect()
.use(require('connect-livereload')({ port: liveReloadPort }))
.use(connect.static('app'))
.use(connect.static('.tmp'))
.use(connect.directory('app'));
require('http').createServer(app)
.listen(serverPort)
.on('listening', function () {
console.log('Started connect web server on http://localhost:' + serverPort);
});
});
gulp.task('serve', ['connect', 'styles'], function() {
require('opn')('http://localhost:' + serverPort);
});
我希望能够让服务器端口是动态的,并检查该端口是否已经在使用中。这可能吗?
多亏了@IlanFrumer,我用它找到了解决方案。
实现方式如下:
var serverPort;
/**
* Start LiveReload Server
*/
gulp.task('connect', function () {
var portfinder = require('portfinder'),
connect = require('connect'),
app = connect()
.use(require('connect-livereload')({ port: 35729 }))
.use(connect.static('app'))
.use(connect.static('.tmp'))
.use(connect.directory('app'));
portfinder.getPort(function (err, port) {
serverPort = port;
require('http').createServer(app)
.listen(port)
.on('listening', function () {
console.log('Started connect web server on http://localhost:' + port);
});
});
});
gulp.task('serve', ['connect', 'styles'], function () {
require('opn')('http://localhost:' + serverPort);
});
在上述功能中还有其他因素,但它的实质就在那里。再次感谢@IlanFrumer!
相关文章:
- 如何在javascript中创建动态json对象
- 如何创建动态ajax提交表单
- 如何在javascript中创建动态正则表达式
- 如何使用pouchdb创建动态查询(couchdb可能也是如此)
- 如何在jquery mobile中使用json文件创建动态下拉菜单
- 基于所选下拉列表值创建动态复选框
- 使用推动创建动态对象
- 在浏览器窗口中创建动态灵活的分割标记
- 将字符串与integer连接,用作jquery中的变量(创建动态变量)
- 创建动态javascript对象
- 如何使用指令属性值创建动态模板
- 使用 JavaScript 创建动态下拉列表
- 如何在创建动态 HTML 页面时使用日期选择器
- 使用javascript中的append创建动态下拉列表
- Jquery - 创建动态名称选择器
- 如何根据查询字符串值创建动态超链接
- 使用javascript创建动态多维关联数组
- 使用javascript创建动态二级下拉列表
- 在JavaScript中创建动态绑定
- 在JS中创建动态对象