我真的很喜欢Spring Data Rest为你写的所有样板代码,但我宁愿只是一个'常规?' 没有所有HATEOAS东西的REST服务器.主要原因是我在客户端使用Dojo Toolkit,并且它的所有小部件和存储都被设置为返回的json只是一个直接的项目数组,没有所有链接和类似的东西.有谁知道如何配置这个与java配置,以便我得到所有为我编写的mvc代码,但没有所有的HATEOAS东西?
我正在创建一些自定义原理图,这将有助于我们快速启动角度库项目.鉴于此,我不希望开发人员必须拥有ng ...他们必须运行的命令清单才能启动并运行库,我想只需要一个命令来设置工作区,将库放入其中,做一些自定义(交换为业力的笑话,添加一些CI配置等).
我这样做的方法是创建一个以空树开始的ng-new原理图,然后从中调用原理图@schematics/angular,externalSchematic()然后library从同一个包中链接原理图,接着是一些我们的自定义原理图来进行自定义.
我想要使用externalSchematic()而不是仅将所有外部原理图代码复制到我的原理图项目中的原因是,在@schematics/angular更新时,我可以通过执行来合并这些更新,yarn upgrade-interactive并通过运行测试套件来查找和解决任何问题.最终我们可以使用CI自动完成此操作.
我在这里创建了一个小的自包含示例重现我的错误:https://github.com/matt328/ng-schematics-test
重现步骤:
git clone
npm install
npm run build
schematics ng-schematics-test:my-full-schematic --name=test-schematic
Run Code Online (Sandbox Code Playgroud)
当我运行原理图时,它会报告 Invalid source: undefined.
这里
https://github.com/matt328/ng-schematics-test/blob/master/src/my-full-schematic/index.ts#L30
是我externalSchematic()打电话的地方ng-new.
我已经对源进行了一些挖掘,发现它是由一些角度原理图引起的
"$default": {
"$source": "projectName"
}
Run Code Online (Sandbox Code Playgroud)
在他们的架构中.该错误是projectName未定义的结果.
还有什么是为了能够调用做ng-new用externalSchema()?这种方法有效,还是有其他方法可以做到这一点?