问题说明
使用Ivy进行编译时,编译失败并显示以下错误:
ERROR in src/app/app.module.ts(8,12): error TS-991010: Value at position 1 in the NgModule.importss of AppModule is not a reference: [object Object]
重现步骤和问题的最小演示
我无法为此创建堆栈炸弹或塞子,因为它打算显示编译器失败,并且我不知道如何演示这一点。
您可以签出https://github.com/paullessing/agm-ivy-demo并尝试在运行yarn install
之后进行构建。
ng new
安装Angular 8的新项目@agm/core
并设置默认导入
imports: [
BrowserModule,
AgmCoreModule.forRoot({
apiKey: environment.mapsApiKey,
})
]
tsconfig.app.json
启用常春藤:
{
...
"angularCompilerOptions": {
"enableIvy": true
}
}
angular.json
启用AOT来解决“未找到惰性路由”:
{
"projects": {
"my-project": {
"architect": {
"build": {
"options": {
...
"aot": true,
}
}
}
}
}
}
ng serve
当前行为
编译失败,并显示以下错误:
ERROR in src/app/app.module.ts(8,12): error TS-991010: Value at position 1 in the NgModule.importss of AppModule is not a reference: [object Object]
( imports
数组中的位置1是AgmCoreModule.forRoot()
)
预期/期望行为
没有编译器故障
angular2和angular-google-maps版本
"@agm/core": "1.0.0-beta.5",
Angular CLI: 8.0.1
Node: 10.16.0
OS: win32 x64
Angular: 8.0.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.800.1
@angular-devkit/build-angular 0.800.1
@angular-devkit/build-optimizer 0.800.1
@angular-devkit/build-webpack 0.800.1
@angular-devkit/core 8.0.1
@angular-devkit/schematics 8.0.1
@angular/cli 8.0.1
@ngtools/webpack 8.0.1
@schematics/angular 8.0.1
@schematics/update 0.800.1
rxjs 6.4.0
typescript 3.4.5
webpack 4.30.0
其他资讯
禁用常春藤时,编译工作。
可能与https://github.com/angular/angular/issues/28603有关,该声明指出,如果package.json
不包含types
或typings
属性,则模块将从编译中排除。
无法复制。 可能是importss
有两个's'吗?
无法复制。 可能是进口商品有两个“ s”吗?
我认为这是因为这是一个名称imports
的数组,因此错误消息正在尝试对其进行复数处理。
我只是再次尝试了一个全新的项目,但它仍然失败了(使用beta版本6)。 我更新了上面的细节。
好的,尝试
ng new my-proj --enable-ivy
cd my-proj
npm install @agm/core
将AgmCoreModule.forRoot...
到导入中
npm start
从字面上看,这正是我在上面的描述中链接的演示项目中所做的事情。
同样的问题在这里。
@paullessing @ ramses10您想加入Discord,以便我们可以更互动地进行讨论吗?
@ doom777对我很好
转载于build:prod
@ doom777您是否尝试过prod标志?
我现在正在遇到一模一样的问题。 我的应用程序类似于Paul共享的示例。 我在ng b --prod
和ng b
上都得到了Value at position 1 in the NgModule.importss of AppModule is not a reference: [object Object]
ng b
。
角度:8.0.0
@ agm / core:1.0.0-beta.6
嗨,启用常春藤时,我有同样的问题:
src / app / app.module.ts(37,12)中的错误:错误TS-991010:AppModule的NgModule.importss中位置16处的值不是引用:[object Object]
常春藤被禁用时有效
嗯,也许在实施#1648之后它会工作。 我不知道我们的lib中有任何路径链接的库,但是我们确实使用了不寻常的包装
关于此问题有任何更新吗?
使用最新的角度beta和常春藤时在这里同样的问题
经过测试后,#1634确实修复了该问题,因此问题出在我们过时的构建系统上。 希望@SebastianM可以审查和合并PR
这事有进一步更新吗?
是的,我正在尝试让#1634的作者更新其PR,以便我们可以将其合并。希望下周。 到目前为止,我还没有得到任何答复,但是如果这种情况持续下去,我将克隆他的PR并自己完成。
@terencehonles您可以更新https://github.com/SebastianM/angular-google-maps/pull/1634吗?
尚未发布到npm?
还没有。 我们不会发布每个提交。
您能发布这一本书吗,因为它可以为Angular 9 / IVY提供支持,因此可以认为是主要本书。
还没有。 我们不会发布每个提交。
@ doom777可能是个好主意,因为它是主要更新,并引入了主要修复程序...
我同意必须尽快发布。 该库与ivy的不兼容是导致我们无法在中型Web应用程序上测试ivy的少数问题之一。
@ doom777关于此版本或下一版本何时发布的任何更新? 发布到npm是否有任何困难? 该软件包的下载量超过65k,这是有多少人可以从新版本中受益。
通过在这里阅读https://docs.npmjs.com/creating-and-publishing-scoped-public-packages,我了解到公开发布应该是一个快速简便的过程,否则我会丢失一些东西吗?
谢谢
@ doom777有任何更新吗?
嘿大家。 我知道有些人急于发布此修复程序,但是(1)我不负责发布新的agm版本,(2)我们是最近发布的,并且(3)Ivy仍在预览中,因此对于我们来说,释放支持很重要,这不是PRIORITY 0 CRITICAL 。
我向@SebastianM发送了有关发布新版本的消息,并正在等待回应。
感谢您的更新和信息。
是的,Ivy仅处于预览阶段,但今天仍然可以帮助许多开发人员。
因为npm允许每24小时发布一次,所以最近的发布应该不会成为问题;)
希望@SebastianM可以尽快考虑发布新版本:)
谢谢
@ doom777不是PRIORITY 0 CRITIAL,但非常重要。
Angular即将发布v9.0.0,它将默认启用常春藤,并且此软件包在此版本中将无用。 如果PR修复了它,我真的看不到为什么不发布新版本。
另外,我认为该软件包仍处于测试阶段没有理由。 在这里工作正常,没有错误,没有不稳定。
我提交的PR(#1634)是为了解决已经存在一段时间(Angular 4+?)的AOT编译,这应该是发布新Beta版的一个很好的理由。
关于#1647:Ivy需求恰好需要AOT,这就是为什么它会在Ivy上中断的原因,但是关于库的其他事情可能需要更改以使其与Ivy完全兼容。
在工作中,我开始尝试使用Ivy构建应用程序,但是我们依赖的其他软件包似乎也有问题,并且升级到Ivy并不是我们应用程序的核心要求。 由于我们有更多的时间进行测试,并且可能会添加更多的映射功能,因此我可以考虑做出我认为必要的任何更改,但是我无法承诺要花多少时间来帮助该项目。
@ iget-master我也不会说没有错误,也没有不稳定(不是我遇到过任何问题,但是很可能存在问题,保留“ beta”标记确实使迭代更容易,并且在拥有更稳定的API之前更改需要更改的内容)
我们收到了来自贡献者的回复,就像它不是优先事项一样。 我可以说并说释放它以便修复AOT和Ivy支持有些重要。 AOT已经存在了一段时间,并且在几个月的时间里,Angular 9将会出现(预期)稳定的Ivy。 我个人认为没有理由声称它是0优先级。
其次,仅运行命令并将其释放给npm有什么问题?
一个贡献者声称它可能还不稳定,很好,在这种情况下,保持beta标志是有意义的。 但! Beta是否应该有点不稳定? 这意味着可以预期会有频繁的发布,但是我们看到的每月只有一个发布。 如果对它的不稳定性有很大的担忧,最好将当前版本发布为稳定版本,并在beta标志下修复该版本。
请记住,每周约有6万人可以从新版本中受益;)
谢谢
我正在考虑完全复制此存储库,然后以另一个名称将其发布到npm,因此,每个观看此线程的人都可以尝试一下,直到赶上。 还有其他人想这样做吗?
算我一个。
我们不反对您分叉和部署我们的库,这就是为什么它是开源的。 😄
我正在尝试解决这个问题,但这并不像“运行命令”那么简单。 我希望beta.8会在Angular 9之前发布。
有什么可以帮忙的吗? 有需要测试或开发的功能吗?
@mruknowme,请不要这样做。
@ doom777刚开始这样做,直到此存储库上有更多牵引力
更新:我正在尝试发布此文件,很遗憾,塞巴斯蒂安无法访问,只有他才能进行npm部署。
嘿,
偶然看到了这个线程。 @以法莲你在哪里发给我一个消息?
也许我的推送设置搞砸了m我可以在推送新版本时
家。 抱歉耽搁了!
Ephraim Khantsis [email protected] schrieb am Mo.16.Sept.2019 um
17:06:
更新:我正在尝试发布此文件,很遗憾塞巴斯蒂安(Sebastian)是
无法到达,只有他才能进行npm部署。-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/SebastianM/angular-google-maps/issues/1647?email_source=notifications&email_token=AACDGRABQG3CO4VBHKU3N23QJ6OHZA5CNFSM4HSA7KD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBJZZCOMPZZNWEXZNWXZZNWNZXNLOXZNWXZZNWNZXNWXZP
或使线程静音
https://github.com/notifications/unsubscribe-auth/AACDGRFLFLAZMJKKVQZUM7DQJ6OHZANCNFSM4HSA7KDQ
。
嘿@SebastianM ,
抱歉,不记得我给您发消息了!
我为什么要向您发送消息?
干杯,
以法莲
@SebastianM您是指@ doom777评论https://github.com/SebastianM/angular-google-maps/issues/1647#issuecomment -524882295吗?
顺便说一句,我也在Twitter上给您留言了:D
我们都知道您很忙,感谢您为维护该插件付出的时间和精力:)
嘿! 很高兴您在附近。 我总是尝试在Twitter上与您联系。
@SebastianM如果已经可用,是否可以更新stackblitz模板以使用最新的AGM版本?
当然可以
Am Mo.,16.Sept.2019 um 20:20 Uhr schrieb Ephraim Khantsis <
[email protected]>:
@SebastianM https://github.com/SebastianM如果您已经可以使用,
您可以更新stackblitz模板以使用最新的AGM版本吗?-
您收到此邮件是因为有人提到您。
直接回复此电子邮件,在GitHub上查看
https://github.com/SebastianM/angular-google-maps/issues/1647?email_source=notifications&email_token=AACDGRDKLMG7VFW7CP6KVYDQJ7E5PA5CNFSM4HSA7KD2YY3PNVWWK3TUL52HS4DFVREXG43VMBJZKCOM63KW
或使线程静音
https://github.com/notifications/unsubscribe-auth/AACDGRA3WT7CYHW3JSZEMC3QJ7E5PANCNFSM4HSA7KDQ
。
@SebastianM @agm/core 1.0.0
与Angular 9.0.0-next.6
正常工作,但与Angular 9.0.0-next.7
开始再次引发此错误https://github.com/angular/angular/issues/32506
你能看看吗?
刚才看了看, @agm/core
1.0.0的包中有装饰器,这对我来说很奇怪。 我正在调查。
感谢@JoostK ,期待很快的修复:)
因此,我能够确认ngcc自ng-packagr 5.5.1中发布的https://github.com/ng-packagr/ng-packagr/pull/1401起就无法处理装饰器的发出方式。
但是,这仍然令人惊讶,因为此存储库中的yarn.lock
文件表明正在使用ng-packagr 5.4.3。 @SebastianM您可以确认是否在不更新yarn.lock
文件的情况下使用了较新版本的ng-packagr吗?
不,它与5.4.3一起使用
更新:尝试5.5.1也无济于事
这是一个PR,涉及装饰器在@agm/core
1.0.0中的存在方式: https :
@ doom777您怎么知道,您是发布该版本的人吗? 我不太了解@agm/core
的1.0.0版本如何使用ng-packagr 5.5.1以外的任何版本同时调用ctorParameters
和__decorate
。
该插件可与Angular 9.0.0-next.9完美配合,感谢@JoostK的出色工作:)
我终于切换到@ angular / google-maps,到目前为止效果很好:)
好的祝你好运。 请记住,它的功能要少得多
补充一下:在8.0中,与角形常春藤兼容非常困难,但在9.0中,它可以正常工作。
"@angular/core": "~9.1.0",
当我将forRoot
到功能模块并在AppModule->Imports
调用它时。 发生此错误。 找不到任何解决方案。 我使用今天的Angular CLI创建了新的应用程序。
"@angular/core": "^9.1.6",
相同的...
“当我将forRoot添加到功能模块并在AppModule-> Imports中调用它时。会发生此错误。找不到任何解决方案。我今天使用Angular CLI创建了新的应用程序。”
终于找到了我的案子的问题。
...在模块中...
let registry = null;
export class UiUniversalCoreModule {
public static forRoot(elements): ModuleWithProviders<UiUniversalCoreModule> {
// Angular 9 required <UiUniversalCoreModule>
registry = elements; // and had to change this code to work.
return {
ngModule: UiUniversalCoreModule,
providers: [
ComponentBuilderService
]
};
}
}
... 变成 ...
let registry = null;
function ngModuleIssue(elements){
registry = elements;
return ComponentBuilderService;
}
export class UiUniversalCoreModule {
public static forRoot(elements): ModuleWithProviders<UiUniversalCoreModule> {
return {
ngModule: UiUniversalCoreModule,
providers: [
ngModuleIssue(element)
]
};
}
}
最有用的评论
我同意必须尽快发布。 该库与ivy的不兼容是导致我们无法在中型Web应用程序上测试ivy的少数问题之一。