phoenxi elixir 框架几个方便的命令

1. 已有命令

mix app.start          # Starts all registered apps
mix app.tree           # Prints the application tree
mix archive            # Lists installed archives
mix archive.build      # Archives this project into a .ez file
mix archive.install    # Installs an archive locally
mix archive.uninstall  # Uninstalls archives
mix clean              # Deletes generated application files
mix cmd                # Executes the given command
mix compile            # Compiles source files
mix deps               # Lists dependencies and their status
mix deps.clean         # Deletes the given dependencies' files
mix deps.compile       # Compiles dependencies
mix deps.get           # Gets all out of date dependencies
mix deps.tree          # Prints the dependency tree
mix deps.unlock        # Unlocks the given dependencies
mix deps.update        # Updates the given dependencies
mix do                 # Executes the tasks separated by comma
mix ecto               # Prints Ecto help information
mix ecto.create        # Creates the repository storage
mix ecto.drop          # Drops the repository storage
mix ecto.dump          # Dumps the repository database structure
mix ecto.gen.migration # Generates a new migration for the repo
mix ecto.gen.repo      # Generates a new repository
mix ecto.load          # Loads previously dumped database structure
mix ecto.migrate       # Runs the repository migrations
mix ecto.migrations    # Displays the repository migration status
mix ecto.rollback      # Rolls back the repository migrations
mix escript            # Lists installed escripts
mix escript.build      # Builds an escript for the project
mix escript.install    # Installs an escript locally
mix escript.uninstall  # Uninstalls escripts
mix format             # Formats the given files/patterns
mix gettext.extract    # Extracts translations from source code
mix gettext.merge      # Merge template files into translation files
mix help               # Prints help information for tasks
mix hex                # Prints Hex help information
mix hex.audit          # Shows retired Hex deps for the current project
mix hex.build          # Builds a new package version locally
mix hex.config         # Reads, updates or deletes local Hex config
mix hex.docs           # Fetches or opens documentation of a package
mix hex.info           # Prints Hex information
mix hex.organization   # Manages Hex.pm organizations
mix hex.outdated       # Shows outdated Hex deps for the current project
mix hex.owner          # Manages Hex package ownership
mix hex.publish        # Publishes a new package version
mix hex.repo           # Manages Hex repositories
mix hex.retire         # Retires a package version
mix hex.search         # Searches for package names
mix hex.user           # Manages your Hex user account
mix loadconfig         # Loads and persists the given configuration
mix local              # Lists local tasks
mix local.hex          # Installs Hex locally
mix local.phoenix      # Updates Phoenix locally
mix local.phx          # Updates the Phoenix project generator locally
mix local.public_keys  # Manages public keys
mix local.rebar        # Installs Rebar locally
mix new                # Creates a new Elixir project
mix phoenix.gen.html   # Generates controller, model and views for an HTML based resource
mix phoenix.new        # Creates a new Phoenix v1.3.2 application
mix phoenix.server     # Starts applications and their servers
mix phx.digest         # Digests and compresses static files
mix phx.digest.clean   # Removes old versions of static assets.
mix phx.gen.channel    # Generates a Phoenix channel
mix phx.gen.context    # Generates a context with functions around an Ecto schema
mix phx.gen.embedded   # Generates an embedded Ecto schema file
mix phx.gen.html       # Generates controller, views, and context for an HTML resource
mix phx.gen.json       # Generates controller, views, and context for a JSON resource
mix phx.gen.presence   # Generates a Presence tracker
mix phx.gen.schema     # Generates an Ecto schema and migration file
mix phx.gen.secret     # Generates a secret
mix phx.new            # Creates a new Phoenix v1.3.2 application
mix phx.new.ecto       # Creates a new Ecto project within an umbrella project
mix phx.new.web        # Creates a new Phoenix web project within an umbrella project
mix phx.routes         # Prints all routes
mix phx.server         # Starts applications and their servers

帮助命令使用:
比如:
mix help mix phx.gen.json 

2. 查看路由(方便进行功能的实现)

mix  phx.routes

参考:

Generated hello app
page_path  GET     /                   Hello.PageController :index
page_path  GET     /index/:name        Hello.PageController :appdemo
user_path  GET     /user/:name         Hello.UserController :index
demo_path  GET     /api/demo           Hello.DemoController :index
demo_path  GET     /api/demo           Hello.DemoController :index
demo_path  GET     /api/demo/:id/edit  Hello.DemoController :edit
demo_path  GET     /api/demo/new       Hello.DemoController :new
demo_path  GET     /api/demo/:id       Hello.DemoController :show
demo_path  POST    /api/demo           Hello.DemoController :create
demo_path  PATCH   /api/demo/:id       Hello.DemoController :update
           PUT     /api/demo/:id       Hello.DemoController :update
demo_path  DELETE  /api/demo/:id       Hello.DemoController :delete
3. 生成脚手架代码 (phx.gen 开头的)
mix phx.gen.json Accounts User users --table cms_users
4. 生产环境构建
phoenix 依赖

mix deps.get --only prod
MIX_ENV=prod mix compile

资源(web)

brunch build --production (构建)
mix phx.digest (压缩)

启动

PORT=4001 MIX_ENV=prod mix phx.server

or

PORT=4001 MIX_ENV=prod iex -S mix phx.server

or 守护进程模式

MIX_ENV=prod PORT=4001 elixir --detached -S mix do compile, phx.server
5. 几个问题
因为新版phoenix 脚手架创建web 的目录已经调整到了lib目录 <app>_web 命名,使用旧版本的代码可能需要调整
如下图:
v1.3 之前的
 
v1.3 以及最新版本
 
6. 参考资料
https://hexdocs.pm/phoenix/deployment.html
https://hexdocs.pm/phoenix/phoenix_mix_tasks.html

posted on 2018-04-19 10:21  荣锋亮  阅读(413)  评论(0编辑  收藏  举报

导航