用ruby设置一个基本的本地服务器

时间:2016-07-07 16:25:08

标签: javascript ruby server gulp localhost

这可能是一个noobie问题,但我正在研究一个Ruby项目,现在我必须从localhost提供一些文件来进行一些需要读取本地加载的网页的测试。我正在使用gulp,但我想在Ruby中使用它。我发现了Rack,但我无法绕过它去做我想做的非常简单的事情。

这是我的文件夹结构:

$ tree
.
├── lib
│   └── page_reader.rb
├── spec
│   ├── fixtures
│   │   └── index.html
│   └── page_reader_spec.rb
└── gulpfile.js

我现在gulpfile.js的内容是:

var
  browsersync  = require('browser-sync').create(),
  gulp         = require('gulp')
;

gulp.task('server', function() {
  browsersync.init({
    server: {
      baseDir: './spec/fixtures/'
    },
    port:   4000,
    notify: false,
    open:   false
  });
});

基本上,我在index.html./spec/fixtures/个文件夹,我使用browser-sync模块启动本地服务器,然后我指向fixtures文件夹在我的测试文件夹中。当我想运行测试时,我必须这样做:

$ gulp server

在一个终端中,然后转到http://localhost:4000加载我正在运行测试的页面,然后在另一个终端中执行:

$ bundle exec rspec

运行测试。

有没有办法通过gulp做我正在做的事情但是使用Ruby代替?我搜索了一个与browser-sync模块类似的工作方式但却无法找到的宝石。但是我认为必须有一种方法,就像使用gulp一样简单。我可以继续使用gulp来完成它,因为它工作得很好,但是在这种特定方式和这种情况下混合使用JavaScript和Ruby感觉很奇怪。

1 个答案:

答案 0 :(得分:1)

我知道最简单的答案:

cd spec/fixtures && ruby -run -e httpd -- -p 4000 .

Aaron Patterson@tenderlove),Gavin KistnerBen Oakes,以及数千人的礼貌。我喜欢一个好的社区。 =]