# helloworld **Repository Path**: sirius1959/helloworld ## Basic Information - **Project Name**: helloworld - **Description**: 存放一个Ruby的演示demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-25 - **Last Updated**: 2021-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Part 0 ### 1、Ruby安装 我采用的是Windows10环境下安装,首先是到[官网](https://rubyinstaller.org/downloads/)下载RubyInstall 下载 rubyinstaller 之后,解压到新创建的目录下: 双击 rubyinstaller-2.7.4.exe 文件,启动 Ruby 安装向导。 点击 Next,继续向导,记得勾选 Add Ruby executables to your PATH(配置环境变量),直到 Ruby 安装程序完成 Ruby 安装为止。 安装后,通过在命令行中输入以下命令来确保一切工作正常:ruby --version 如果一切工作正常,将会输出所安装的 Ruby 解释器的版本 ### 2、Gem安装 下载地址:[官网](https://rubygems.org/pages/download) 选择zip格式下载,下载完解压,解压后双击setup.rb 安装后,通过在命令行中输入以下命令来确保一切工作正常:gem -v 如果一切工作正常,将会输出所安装的 gem 的版本。 ### 3、Sinatra尝试hello world ```` 接下来将会尝试使用Sinatra框架创建一个“hello world”软件,并配置热部署 1.首先创建一个空的文件夹来存放你的新应用程序,并在该目录中使用“git init”来开始用git进行版本控制初始化 2.在该目录中,创建一个名为“Gemfile”的新文件,应该包含以下内容,这个文件定义了使用的依赖的版本 ----------------------------- source 'https://rubygems.org' ruby '2.6.6' gem 'sinatra', '>= 2.0.1' ----------------------------- 注释: 第一行表示下载gems时使用的首选地址,这是一个Gems的ruby社区 第二行指定了使用的Ruby语言解释器的版本,如果省略这一行,Bundle将会使用可用的版本 最后一行说明我们需要2.0.1或更高版本的“Sinatra”Gems 3.我们需要将上述内容添加到本地仓库中,置于版本控制之下 --------------------------------- $ git add . $ git commit -m "Set up the Gemfile" ---------------------------------- 注释: 第一个命令是将所有已更改的文件提交 第二个命令用引号中的注释提交分段文件,你可以重复这些命令来提交更改 这些都是本地提交,如果你想把更改提交到GitHub中,还需要执行git push命令 4.首先在项目文件夹中创建一个名为app.rb的文件,包含下述内容: ------------------------------------------------------------------- require 'sinatra' class MyApp < Sinatra::Base get '/' do "

Hello World

" end end --------------------------------------------------------------------- 注释: `Sinatra::Base`类支持get方法,因此我们的MyApp类能够继承这个特性 并且我们在第一行声明了这个包,因此我们可以使用`Sinatra::Base`这个类 Sinatra允许您编写匹配传入HTTP路由的函数,在本例中是' GET '/' '(根URL),一个包含字符串' Hello World '的非常简单的HTML文档将作为请求的结果返回到表示层 5.`rack`应用服务器由一个配置文件`config.ru`控制,你必须在应用文件夹创建一个以此命名的文件,并包含下属内容 --------------- require './app' run MyApp --------------- 注释: 第一行告诉Rack我们的应用程序位于文件`app.rb`中,我们需要声明(.)表明这个app文件位于当前目录,因为`require`通常只会在标准系统目录中查找gems 6.启动服务 ---------------------------------------------------- 本地启动命令:bundle exec rackup --port 3000 Codio:bundle exec rackup --host 0.0.0.0 --port 3000 ---------------------------------------------------- 注释: 此命令将会启动Rack应用服务器和WEBrick网络服务器,前缀中加上`bundle exec`可以确保你在运行`Gemfile.lock`中指定的gems Rack将会寻找`config.ru`,并基于文件中的配置尝试启动我们的应用程序 7.查看服务 在浏览器中直接访问:localhost:3000 8.总结 目前我们的应用程序文件夹中应该有以下文件:Gemfile、Gemfile.Lock、app.rb、config.ru 这是一个最小的SaaS应用程序:应用程序文件本身,显式所需gem列表、实际安装的gem列表,一起服务器配置文件 9.配置热部署 当我们文件进行修改,保存后刷新网页并没有生效,需要我们重新启动服务器才可以,我们接下来将尝试使用rerun这个gem来实现热部署 首先在Gemfile中添加以下内容(在哪里不重要): ----------------------- group :development do gem 'rerun' end ----------------------- 接下来运行`bundle install`,让它下载`rerun`gem和其他依赖项 然后在终端窗口中输入以下命令以启动应用程序并验证应用程序正在运行: ----------------------------------------------------- 本地启动命令:bundle exec rerun -- rackup --port 3000 Codio:bundle exec rerun -- rackup -p 3000 -o 0.0.0.0 ----------------------------------------------------- 这个时候我们再对app.rb文件进行修改并保存后,我们再次刷新浏览器就可以看到修改后的内容 ```` ### 4、项目地址