版本控制和协作如何与 Amber 配合使用?
当我创建一个新包时,我看到创建了三个文件:
- js/MyPackage.deploy.js
- js/MyPackage.js
- st/MyPackage.st
我需要将它们全部置于版本控制之下吗?我可以只将更改合并到 .st 文件中并让 Amber 服务器获取它们吗?
版本控制和协作如何与 Amber 配合使用?
当我创建一个新包时,我看到创建了三个文件:
我需要将它们全部置于版本控制之下吗?我可以只将更改合并到 .st 文件中并让 Amber 服务器获取它们吗?
先简单解释一下这三个文件:
st/MyPackage.st
:Smalltalk 源也称为 fileoutjs/MyPackage.js
:相当于Smalltalk源码编译成JS(包括Smalltalk源码等元数据)js/MyPackage.deploy.js
: 等于另一个.js
文件,但不包含部署中不需要的元数据要运行 Amber 应用程序,.js
需要其中一个文件。哪一种取决于部署模式,但对于开发,.deploy
使用名称中没有的那一种。
反过来.js
,可以.st
使用 Amber 命令行编译器(例如通过 Grunt.js)或通过在 IDE 中执行文件并提交相关包来从文件生成文件。
一般来说,我们将所有三个文件都置于版本控制之下,但目前最关键的是.st
文件,因为它们通常比生成的 JS 代码更容易合并。
但是,仅保留和合并.st
文件是不够的,因为 Amber 无法加载这些文件。例如,Nico 使用本地 git 挂钩.st
在提取最新更改时重新编译文件。从 Amber 邮件列表中查看此消息。