javascript - 使用 ruby​​ 设置基本的本地服务器

标签 javascript ruby server gulp localhost

这可能是一个菜鸟问题,但我正在开发一个 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 ),通过 Gavin Kistner , Ben Oakes ,以及数千名 Actor 。我喜欢一个好的社区。 =]

关于javascript - 使用 ruby​​ 设置基本的本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250692/

相关文章:

java - 更新旧代码,但现在有前向声明错误

java - Ubuntu 无法启动另一个 Java 线程

jenkins - 客户端错误 : HTTP 302 Found, Jenkins 连接到 Gitlab

javascript - 如何使用 Angular 检测浏览器后退按钮单击事件?

javascript - console.logging 以 0 开头的数字

ruby-on-rails - 用于显示操作的 URL 中的自定义参数

json - Rswag 模式不会因数组中对象的无效属性而失败

javascript - 如何遍历 javascript 属性但跳过其中的函数?

javascript - 为什么我在 WebSocket 握手请求 header 中看不到 cookie 值?

ruby - 创建类关系