Angular 6 Schematics无效源(未定义)
我正在创建一些自定义原理图,这将有助于我们快速启动角度库项目.鉴于此,我不希望开发人员必须有一个ng …命令清单,他们必须运行这些命令才能启动并运行库,我只想拥有一个设置工作区的命令,puts其中的一个库,进行一些自定义(交换为业力,添加一些CI配置等).
我这样做的方法是创建一个以空树开头的原理图,然后通过externalSchematic()从@ schematics / angular调用ng-new原理图,然后从同一个包中链接库原理图,接着是我们的一些自定义用于进行自定义的原理图. 我想要使??用externalSchematic()而不是仅仅将所有外部原理图代码复制到我的原理图项目中的原因是,当@ schematics / angular更新时,我可以通过仅进行纱线升级 – 交互式并找到和通过运行测试套件解决任何问题.最终我们可以使用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 当我运行原理图时,它会报告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" } 在他们的架构中.该错误是projectName未定义的结果. 为了能够使用externalSchema()调用ng-new还需要做些什么?这种方法有效,还是有其他方法可以做到这一点?
早在二月初,我就可以从这个
demo working获得一个工作版本的externalSchematics命令.当我今天尝试复制我之前的结果时,我收到了与你相同的错误(对于ng-new,组件和界面,当我尝试从原理图项目中运行命令.
但是,当我创建一个新的Angular项目并为原理图项目创建了一个符号链接时,我能够在Angular项目中成功生成一个组件和接口.还没有成功使用ng-new,因为node_modules映射不是那么简单(它确实提示我输入一些必需的参数,版本和名称,然后抛出一个丢失的模块错误,我想这可能被解释为进展). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |