name: Beeツールの使用方法

sort: 2

beeツールの紹介

Beeツールは急速にbeegoを開発できるプロジェクトです。beeツールで自動コンパイルを作成し、リロード、開発、テスト、簡単にbeegoアプリケーションをデプロイすることができます。

beeツールのインストール

次のコマンドを使用してbeeツールをインストールすることができます:

  1. go get github.com/beego/bee

beeはデフォルトでGOPATH/binにインストールされます。PATHGOPATH/binを追記する必要があり、さもなくばbeeコマンドが動作しません。

Beeツールコマンド

コマンドラインでbeeをタイプしてください。以下のメッセージが表示されると思います:

  1. Bee is a tool for managing beego framework.
  2. Usage:
  3. bee command [arguments]
  4. The commands are:
  5. new Create a Beego application
  6. run run the app and start a Web server for development
  7. pack Compress a beego project into a single file
  8. api create an API beego application
  9. bale packs non-Go files to Go source files
  10. version show the Bee, Beego and Go version
  11. generate source code generator
  12. migrate run database migrations

newコマンド

newコマンドは新たなWebプロジェクトを生成します。新たなbeegoプロジェクトを$GOPATH/src直下で、bee new <project name>とタイプすることで生成します。これらは全てのプロジェクトのフォルダとファイルです:

  1. bee new myproject
  2. [INFO] Creating application...
  3. /gopath/src/myproject/
  4. /gopath/src/myproject/conf/
  5. /gopath/src/myproject/controllers/
  6. /gopath/src/myproject/models/
  7. /gopath/src/myproject/routers/
  8. /gopath/src/myproject/tests/
  9. /gopath/src/myproject/static/
  10. /gopath/src/myproject/static/js/
  11. /gopath/src/myproject/static/css/
  12. /gopath/src/myproject/static/img/
  13. /gopath/src/myproject/views/
  14. /gopath/src/myproject/conf/app.conf
  15. /gopath/src/myproject/controllers/default.go
  16. /gopath/src/myproject/views/index.tpl
  17. /gopath/src/myproject/routers/router.go
  18. /gopath/src/myproject/tests/default_test.go
  19. /gopath/src/myproject/main.go
  20. 13-11-25 09:50:39 [SUCC] New application successfully created!
  1. myproject
  2. ├── conf
  3. └── app.conf
  4. ├── controllers
  5. └── default.go
  6. ├── models
  7. ├── routers
  8. └── router.go
  9. ├── tests
  10. └── default_test.go
  11. ├── static
  12. ├── js
  13. ├── css
  14. └── img
  15. ├── views
  16. └── index.tpl
  17. ├── main.go
  18. 11 directories, 5 files

Command run

コンパイルし、それらを毎回手動で実行する必要があるという問題を抱えています。 bee runコマンドはbeegoプロジェクトフォルダの範囲内で、すべての変更後、すぐに結果を見ることができるようinotify を使用して、任意のbeegoプロジェクトのファイルシステムを監視します。

  1. cd myproject
  2. bee run
  3. 13-11-25 09:53:04 [INFO] Uses 'myproject' as 'appname'
  4. 13-11-25 09:53:04 [INFO] Initializing watcher...
  5. 13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject/controllers)
  6. 13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject)
  7. 13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject/routers)
  8. 13-11-25 09:53:04 [TRAC] Directory(/gopath/src/myproject/tests)
  9. 13-11-25 09:53:04 [INFO] Start building...
  10. 13-11-25 09:53:16 [SUCC] Build was successful
  11. 13-11-25 09:53:16 [INFO] Restarting myproject ...
  12. 13-11-25 09:53:16 [INFO] ./myproject is running...
  13. 13-11-25 09:53:16 [app.go:103] [I] http server Running on :8080

Upon execution of this command, open your browser and visit http://localhost:8080/, you should see your app running: 上のコマンドを実行すると、Webブラウザを開き、http://localhost:8080/ に行ってください、アプリケーションの実行が表示されます:

beeツールの紹介 - 图1

After modifying the default.go file in the controllers folder, we can see the output below from the command line: controllersフォルダ内のdefault.goファイルを変更した後、我々は、コマンドラインから次の出力を見ることができます:

  1. 13-11-25 10:11:20 [EVEN] "/gopath/src/myproject/controllers/default.go": DELETE|MODIFY
  2. 13-11-25 10:11:20 [INFO] Start building...
  3. 13-11-25 10:11:20 [SKIP] "/gopath/src/myproject/controllers/default.go": CREATE
  4. 13-11-25 10:11:23 [SKIP] "/gopath/src/myproject/controllers/default.go": MODIFY
  5. 13-11-25 10:11:23 [SUCC] Build was successful
  6. 13-11-25 10:11:23 [INFO] Restarting myproject ...
  7. 13-11-25 10:11:23 [INFO] ./myproject is running...

Refreshing the browser should show the results of the new modifications. ブラウザをリフレッシュすると、新しい変更結果が表示されるはずです。

Command pack

packコマンドは、プロジェクトを単一のファイルへ圧縮するために使用されます。そうすれば、アップロードしてサーバ上にzipファイルを解凍することで、プロジェクトを展開することができます。

  1. bee pack
  2. app path: /gopath/src/apiproject
  3. GOOS darwin GOARCH amd64
  4. build apiproject
  5. build success
  6. exclude prefix:
  7. exclude suffix: .go:.DS_Store:.tmp
  8. file write to `/gopath/src/apiproject/apiproject.tar.gz`

プロジェクトフォルダ内に圧縮ファイルが見える問思います:

  1. rwxr-xr-x 1 astaxie staff 8995376 11 25 22:46 apiproject
  2. -rw-r--r-- 1 astaxie staff 2240288 11 25 22:58 apiproject.tar.gz
  3. drwxr-xr-x 3 astaxie staff 102 11 25 22:31 conf
  4. drwxr-xr-x 3 astaxie staff 102 11 25 22:31 controllers
  5. -rw-r--r-- 1 astaxie staff 509 11 25 22:31 main.go
  6. drwxr-xr-x 3 astaxie staff 102 11 25 22:31 models
  7. drwxr-xr-x 3 astaxie staff 102 11 25 22:31 tests

Command api

The new command is used for crafting new web applications. But there are many users who use beego for developing APIs. We can use the api command to create new API applications. Here is the result of running bee api project_name: newコマンドは、新しいWebアプリケーションを作り上げるために使用されます。しかし、 APIを開発するためのビーゴを使用する多くのユーザーが存在します。新しいAPIのアプリケーションを作成するために apiコマンドを使用することができます。 ここでハチのAPI project_nameを実行した結果は次のとおりです:

  1. bee api apiproject
  2. create app folder: /gopath/src/apiproject
  3. create conf: /gopath/src/apiproject/conf
  4. create controllers: /gopath/src/apiproject/controllers
  5. create models: /gopath/src/apiproject/models
  6. create tests: /gopath/src/apiproject/tests
  7. create conf app.conf: /gopath/src/apiproject/conf/app.conf
  8. create controllers default.go: /gopath/src/apiproject/controllers/default.go
  9. create tests default.go: /gopath/src/apiproject/tests/default_test.go
  10. create models object.go: /gopath/src/apiproject/models/object.go
  11. create main.go: /gopath/src/apiproject/main.go

以下は、新しいAPIアプリケーションの生成されたプロジェクト構造を示しています:

  1. apiproject
  2. ├── conf
  3. └── app.conf
  4. ├── controllers
  5. └── default.go
  6. ├── main.go
  7. ├── models
  8. └── object.go
  9. └── tests
  10. └── default_test.go

先ほどのbee new myprojectコマンドと比較してください。 新しいAPIアプリケーションは、staticおよびviewsフォルダが含まれていないことにご注意ください。

baleコマンド

This command is currently only available to the developer team. It’s mainly used for compressing all the static files in to a single binary file. So we don’t need to carry static files including js, css, images and views when publish the project. Those files will be self-extracting with non-overwrite when the program starts. このコマンドは、現在開発チームのみ使用可能です。これは主に、単一のバイナリファイルへのすべての静的ファイルを圧縮するために使用されます。よって、プロジェクトをパブリッシュするのにjs、css、画像やビューを含む静的ファイルを実行する必要はありません。これらのファイルは、プログラムの起動時に上書きしない自己解凍型になります。

varsionコマンド

このコマンドは、beebeegogoのバージョンを表示します。

createコマンド

このコマンドは、コントローラ内での関数を解析することにより、ルータを生成します。

migrateコマンド

このコマンドは、データベースをマイグレーションするスクリプトを実行します。

Beeツールの設定

beeツールのソースコードフォルダにbee.jsonという名前のファイルが存在に築くと思いますが、このファイルはbeegoの設定ファイルです。すべての機能はまだ完了していませんが、今のところ使用したいであろういくつかのオプションがあります:

  • "version": 0: ファァイルのバージョン、互換性のないフォーマットのバージョンをチェックします。
  • "go_install": false: github.com/user/repo/subpkgのような完全なインポートパスを使用している場合、go installを実行することでこのオプションを有効にすることができ、ビルドプロセスをスピードアップすることができます。
  • "watch_ext": []: 他のファイル拡張子のウォッチを追加します(デフォルトでは.goファイルのみをウォッチ)。例えば、.ini.confなどです。
  • "dir_structure":{}: フォルダ名が MVCの古典的な名前と同じでない場合、変更するためにこのオプションを使用することができます。
  • "cmd_args": []: 開始ごとのコマンドの引数を追加します。
  • "envs": []: すべてのための環境変数の設定を開始します。