我的设计师最近为我提供了包含不同页面的新设计文件夹,并提到了以下内容:
您需要使用http服务器提供dist文件夹。例如:python -m SimpleHTTPServer 8000 为不同的页面打开http://localhost:8000 http://localhost:8000/listing.html和http://localhost:8000/detail_view.html
如何使用Rails完成此操作?还是Ruby?
答案 0 :(得分:1)
使用以下命令创建新的rails应用程序后
rails new your_app
只需在终端中输入rails s
或rails server
即可。这将在localhost:3000上启动服务器。
答案 1 :(得分:1)
也许看看用HTML,CSS和JavaScript静态资产文件夹(最好称为公共文件夹)的文档根来打开Webrick服务器。
require 'webrick'
server = WEBrick::HTTPServer.new(Port: 8000, DocumentRoot: "/var/www/app/public")
server.start
一个班轮当量:
ruby -rwebrick -e'WEBrick::HTTPServer.new(Port: 8000, DocumentRoot: "/var/www/app/public").start'
这只是前端人员提供的Python代码的Ruby版本。
也许只是使用Python,老实说它并不重要。
http://ruby-doc.org/stdlib-2.0.0/libdoc/webrick/rdoc/WEBrick.html
http://tobyho.com/2009/09/16/http-server-in-5-lines-with/
在生产环境中,并发是必要的。
像Heroku这样的提供程序强烈推荐WEBrick,因为默认情况下它在Rails使用时表现为单个线程。
https://devcenter.heroku.com/articles/ruby-default-web-server
但WEBrick本身就是一个多线程的网络服务器。
答案 2 :(得分:0)
如果我正确理解你,你会想到在使用Ruby时提供静态文件。
我添加了这个答案,因为作为Ruby标准库(WEBrick)的一部分的内置服务器对于生产环境或更重的负载(即更大的文件)来说并不是最佳的。
通常,大多数生产环境使用网络堆栈的方式略有不同。通常,nginx / Apache层将处理静态文件,而Ruby服务器将处理动态内容。
但是,为了让生活更轻松(牺牲资源),大多数主要的Ruby框架(Rails,Sinatra等)都支持静态文件服务以及动态功能。
您可以使用框架或查看Rack(大多数框架使用的平台)来提供静态文件。
此外,一些Ruby服务器,例如iodine
(我是作者)支持静态文件服务......
这是一种直接使用Rack的方法,可以与大多数Ruby服务器一起使用(例如puma
,iodine
,thin
等等。&lt; < / p>
这是一个简单的Rack应用程序,将以下内容保存在应用程序根目录中名为config.ru
的文件中:
# Our app will simply return a 404 not found code
RESPONSE = [404, { 'Content-Type'.freeze => 'text/html'.freeze,
'Content-Length'.freeze => '14'.freeze }.freeze,
['File Not Found'.freeze]].freeze
# This is the application object
app = proc do |_env|
RESPONSE
end
# We will use the Rack static file service middleware.
# You might want to update the folder name.
use Rack::Static, :root => 'public'
run app
确保从命令行运行安装ruby服务器gem ...您可以使用以下任何一种:
gem install puma
# or
gem install iodine
# or
gem install thin
接下来,只需从命令行运行服务器(在放置ruby应用程序config.ru
的文件夹中)。即:
puma -p 8888
# or
iodine -p 8888
<强> P.S。强>
话虽如此......像nginx或apache这样的网络服务器可能是最好的工具。
除此之外,您可以使用iodine
来提供未加密(无SSL)的静态文件(请记得首先安装):
iodine -www ./public
您不需要Ruby应用程序,您只需从命令行运行Ruby应用程序服务器,而无需运行任何Ruby应用程序。
答案 3 :(得分:-1)
您可以尝试使用ruby -run -e httpd . -p 8000
,它将在当前目录中启动WEBrick服务器。
检查此链接以获取更多信息:http://sweetme.at/2013/08/28/simple-local-http-server-with-ruby/