使用 ruby 设置基本的本地服务器
set up a basic local server with ruby
这可能是一个菜鸟问题,但我正在做一个 Ruby 项目,现在我必须从本地主机提供一些文件,以进行一些需要读取本地加载的网页的测试。我为此使用 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
});
});
基本上,我在 ./spec/fixtures/
文件夹中有一个 index.html
,我正在使用 browser-sync
模块启动本地服务器,然后我将其指向 fixtures
我的测试文件夹中的文件夹。当我想 运行 测试时,我必须做:
$ gulp server
在一个终端中,然后转到 http://localhost:4000
加载我正在 运行 进行测试的页面,然后在另一个终端中执行:
$ bundle exec rspec
运行 测试。
有没有一种方法可以通过 gulp
而不是使用 Ruby 来完成我正在做的事情?我搜索了一个与 browser-sync
模块工作方式类似但找不到的 gem。但是我认为必须有一种方法可以像使用 gulp 那样简单。我可以继续使用 gulp
,因为它工作得很好,但是以这种特定方式和在这种情况下混合使用 JavaScript 和 Ruby 感觉很奇怪。
我知道的最简单的答案:
cd spec/fixtures && ruby -run -e httpd -- -p 4000 .
这是由 Aaron Patterson (@tenderlove), via Gavin Kistner, Ben Oakes 提供的,还有成千上万的演员。我喜欢一个好的社区。 =]
这可能是一个菜鸟问题,但我正在做一个 Ruby 项目,现在我必须从本地主机提供一些文件,以进行一些需要读取本地加载的网页的测试。我为此使用 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
});
});
基本上,我在 ./spec/fixtures/
文件夹中有一个 index.html
,我正在使用 browser-sync
模块启动本地服务器,然后我将其指向 fixtures
我的测试文件夹中的文件夹。当我想 运行 测试时,我必须做:
$ gulp server
在一个终端中,然后转到 http://localhost:4000
加载我正在 运行 进行测试的页面,然后在另一个终端中执行:
$ bundle exec rspec
运行 测试。
有没有一种方法可以通过 gulp
而不是使用 Ruby 来完成我正在做的事情?我搜索了一个与 browser-sync
模块工作方式类似但找不到的 gem。但是我认为必须有一种方法可以像使用 gulp 那样简单。我可以继续使用 gulp
,因为它工作得很好,但是以这种特定方式和在这种情况下混合使用 JavaScript 和 Ruby 感觉很奇怪。
我知道的最简单的答案:
cd spec/fixtures && ruby -run -e httpd -- -p 4000 .
这是由 Aaron Patterson (@tenderlove), via Gavin Kistner, Ben Oakes 提供的,还有成千上万的演员。我喜欢一个好的社区。 =]