命令

通过以下命令查看 FIS3 提供了哪些命令。

  1. ~ fis3 -h
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. Usage: fis3 <command>
  4. Commands:
  5. init scaffold with specifed template.
  6. install install components
  7. release [media name] build and deploy your project
  8. server launch a php-cgi server
  9. inspect [media name] inspect the result of fis.match
  10. Options:
  11. -h, --help print this help message
  12. -v, --version print product version and exit
  13. -r, --root <path> specify project root
  14. -f, --file <filename> specify the file path of `fis-conf.js`
  15. --no-color disable colored output
  16. --verbose enable verbose mode

通过帮助信息,不难发现 FIS3 默认内置了命令 releaseinstallinitserverinspect等命令,这些命令都是 FIS fis-command-* 插件提供,通过

  1. fis3 <command>

来调用,详见以下文档介绍内置的命令。

release

fis3-command-release 插件提供,默认内置

编译发布一个 FIS3 项目

  1. $ fis3 release -h
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. Usage: fis3 release [media name]
  4. Options:
  5. -h, --help print this help message
  6. -d, --dest <path> release output destination
  7. -l, --lint with lint
  8. -w, --watch monitor the changes of project
  9. -L, --live automatically reload your browser
  10. -c, --clean clean compile cache
  11. -u, --unique use unique compile caching

添加 -h 或者 --help 参数可以看到如上帮助信息,其中标明此命令有哪些参数并且起到什么作用。

  • -h--help 打印帮助信息
  • -d--dest 编译产出到一个特定的目录

    1. fis3 release -d ./output

    发布到当前命令执行目录下的 ./output 目录下。

    1. fis3 release -d ../output

    发布到当前命令执行目录服目录的 ../output 目录下, 即上一级的 output 目录。

  • -l, --lint 启用文件格式检测

    1. fis3 release -l

    默认 fis3 release 不会启用 lint 过程,只有通过命令行参数指定了才会开启。

  • -w--watch 启动文件监听

    1. fis3 release -w

    会启动文件监听功能,当文件变化时会编译发布变化了的文件以及依赖它的文件。加了此参数,命令不会马上退出,而是常驻且监听文件变化,并按需再次执行。想停止命令需要使用快捷键 CTRL+c 来强制停止。

  • -L--live 启动 livereload 功能

    1. fis3 release -L

    livereload 功能应该跟 watch 功能一起使用(-w 在开启 liveload 的前提下,自动开启),当某文档做了修改时,会自动刷新页面。

  • -c, --clean 清除编译缓存

    1. fis3 release -c

    默认 fis 的每次编译都会检测编译缓存是否有效,如果有效 fis 是不会重复编译的。开启此选项后,fis 编译前会做一次缓存清理。

  • -u, --unique 启用独立缓存

    为了防止多个项目同时编译时缓存文件混乱,启用此选项后,会使用独立的缓存文件夹。一般用于编译机。

install

fis-command-install 插件提供,默认内置

用来从组件平台中下载组件到当前项目中,并自动下载其依赖。默认组件下载来源于 fis-components 机构。
更多内容请查看 components 文档.

  1. ~/sanbox/test fis3 install bootstrap-datepicker
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. Installed
  4. ├── github:fis-components/bootstrap-datepicker@v1.4.0
  5. ├── github:fis-components/bootstrap@v3.3.4
  6. └── github:fis-components/jquery@2.1.0
  7. ~/sanbox/test tree . -L 3
  8. .
  9. └── components
  10. ├── bootstrap
  11. ├── README.md
  12. ├── affix.js
  13. ├── alert.js
  14. ├── bootstrap.js
  15. ├── button.js
  16. ├── carousel.js
  17. ├── collapse.js
  18. ├── component.json
  19. ├── css
  20. ├── dropdown.js
  21. ├── fonts
  22. ├── modal.js
  23. ├── popover.js
  24. ├── scrollspy.js
  25. ├── tab.js
  26. ├── tooltip.js
  27. └── transition.js
  28. ├── bootstrap-datepicker
  29. ├── README.md
  30. ├── bootstrap-datepicker.css
  31. ├── bootstrap-datepicker.js
  32. ├── bootstrap-datepicker.standalone.css
  33. ├── bootstrap-datepicker3.css
  34. ├── bootstrap-datepicker3.standalone.css
  35. └── component.json
  36. └── jquery
  37. ├── README.md
  38. ├── component.json
  39. └── jquery.js
  40. 6 directories, 25 files

命令使用说明

  1. fis3 install --help
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. Usage: install [options] <components...>
  4. Options:
  5. -h, --help output usage information
  6. --save save component(s) dependencies into `components.json` file.
  7. -r, --root <path> set project root

可以同时下载多个组件,多个组件之间使用空格隔开,如:

  1. $ fis3 install jquery jquery-ui

当设置 --save 参数时,除了安装组件外,还会将依赖信息保存在当前项目根目录下面的 component.json 文件中。

init

fis3-command-init 插件提供,默认内置

fis3 脚手架工具,用来快速初始化项目。在 fis-scaffold 机构中的仓库都可以通过 fis3 init ${模板名称} 来初始化到当前目录。当不指定模板名称时,fis3 会使用 default 作为模板用来初始化。

  1. fis3 init --help
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. Usage: init <template>
  4. Options:
  5. -h, --help output usage information
  6. -r, --root <path> set project root

server

fis-command-server 插件提供,默认内置

fis3 内置了一个小型 web server, 可以通过 fis3 server start 快速开启。如果一切正常,开启后它将自动弹出浏览器打开 http://127.0.0.1:8080/

需要说明的是,fis3 自带的 server 默认是通过 java 内嵌 jetty 然后桥接 php-cgi 的方式运行的。所以,要求用户机器上必须安装有 jre 和 php-cgi 程序。

另外, fis server 是后台进行运行的,不会随着进程的结束而停止。如果想停止该服务器,请使用 fis3 server stop 进行关闭。

更多说明请参考命令行使用说明。

  1. $ fis3 server --help
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. Usage: server <command> [options]
  4. Commands:
  5. start start server
  6. stop shutdown server
  7. restart restart server
  8. info output server info
  9. open open document root directory
  10. clean clean files in document root
  11. install <name> install server framework
  12. Options:
  13. -h, --help output usage information
  14. -p, --port <int> server listen port
  15. --root <path> document root
  16. --type <php|java|node> process language
  17. --rewrite [script] enable rewrite mode
  18. --repos <url> install repository
  19. --timeout <seconds> start timeout
  20. --php_exec <path> path to php-cgi executable file
  21. --php_exec_args <args> php-cgi arguments
  22. --php_fcgi_children <int> the number of php-cgi processes
  23. --php_fcgi_max_requests <int> the max number of requests
  24. --registry <registry> set npm registry
  25. --include <glob> clean include filter
  26. --exclude <glob> clean exclude filter
  27. --https start https server

inspect

fis3-command-inspect 插件提供,默认内置

用来查看文件 match 结果。如下所示,将列出项目中所有文件,并显示该文件有哪些属性及属性值,以及该属性是源于哪个 fis.match 配置。

  1. fis3 inspect
  2. [INFO] Currently running fis3 (/usr/local/lib/node_modules/fis3/)
  3. ~ /README.md
  4. -- useHash false `*` (0th)
  5. ~ /comp/1-0/1-0.js
  6. -- useHash false `*` (0th)
  7. -- isMod true `/comp/**/*.js` (1th)
  8. -- release /static/comp/1-0/1-0.js `/comp/**/*.js` (1th)
  9. ~ /comp/2-0/2-0.js
  10. -- useHash false `*` (0th)
  11. -- isMod true `/comp/**/*.js` (1th)
  12. -- release /static/comp/2-0/2-0.js `/comp/**/*.js` (1th)
  13. ~ /comp/cal/cal.js
  14. -- useHash false `*` (0th)
  15. -- isMod true `/comp/**/*.js` (1th)
  16. -- release /static/comp/cal/cal.js `/comp/**/*.js` (1th)
  17. ~ /index.html
  18. -- useHash false `*` (0th)
  19. ~ /static/mod.js
  20. -- useHash false `*` (0th)
  21. ~ ::package
  22. -- postpackager [plugin `loader`] `::package` (2th)