下面的代码看引用是否工作:
// table-overview.js 从'aurelia-framework' ; 从'./collections/table'中导入{TableCollection}; @inject(TableCollection)导出类TableOverview { 构造函数(集合:TableCollection){ alert(collection); $ b执行我的代码时,我得到下面的堆栈跟踪
-------------------------- ---------------------- 内部错误:错误:容器尚未全球出现错误(本机)在TableCollection.ReactiveCollection(http:// localhost:3000/jspm_packages/github/pulsarblow/aurelia-firebase@0.2.1-beta/collection.js:27:108)在新的TableCollection(http:// localhost :3000 / src / collections / table.js!transpiled:25:87)在Object.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta。 1.1.3 / aurelia-dependency-injection.js:334:14)在InvocationHandler.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1 .3 / aurelia-dependency-injection.js:309:168)在Container.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1。 3 / aurelia-dependency-injection.js:557:25)在StrategyResolver.get (http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37)在Container._get( http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:502:41)在Container.get(http :// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:491:28)在Object.invoke(http: //localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:339:33) InvocationHandler.invoke(http:/ /localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168)在Container.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25)在StrategyResolver.get(http:// localhost :3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1。 1.3 / aurelia-dependency-injection.js:145:37)在Container.get(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3 /aurelia-dependency-injection.js:494:23)在eval(http:// localhost:3000/jspm_packages/npm/aurelia-templating@1.0.0-beta.1.1.1/aurelia-templating)。 js:3899:73)在TableCollection.ReactiveCollection的Error(native)(http:// localhost:3000/jspm_packages/github/pulsarblow/aurelia-firebase@0.2.1-beta/collection。 js:27:108) at new TableCollection(http:// localhost:3000 / src / collections / table.js!transpiled:25:87)在Object.invoke(http:// localhost :3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:334:14)位于InvocationHandler.invoke(http:// localhost: 3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168)在Container.invoke(http:// localhost:3000 /jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3 /aurelia-dependency-injection.js:557:25)在StrategyResolver.get(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/ aurelia-dependency-injection.js:145:37)在Container._get(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia -dependency-injection.js:502:41)在Container.get(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-依赖注入.js:491:28)在Object.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency -injection.js:339:33) InvocationHandler.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-注册.js:309:168)在Container.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection .js:557:25)在StrategyResolver.get(http:// local host:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js: 145:37)在Container.get(http:// localhost :3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:494:23) at eval(http:// localhost:3000 / jspm_packages / npm / aurelia-templating@1.0.0-beta.1.1.1/aurelia-templating.js:3899:73)在新的AggregateError(http:// localhost:3000 / jspm_packages / npm / aurelia- pal@1.0.0-beta.1.1.1/aurelia-pal.js:20:13)在Container.invoke(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0 .0-beta.1.1.3 / aurelia-dependency-injection.js:559:15)在StrategyResolver.get(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0。 0-beta.1.1.3 / aurelia-dependency-injection.js:145:37)在Container._get(http:// localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0 -beta.1.1.3 / aurelia-dependency-injection.js:502:41)在Container.get(http:// localhost :3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:491:28)在Object.invoke(http:// localhost: 3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:339:33)在InvocationHandler.invoke(http:// localhost:3000 /jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168)在Container.invoke(http:// localhost:3000 / jspm_packages / npm / aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25)在StrategyResolver.get(http:// localhost:3000 / jspm_packages /npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37)在Container.get(http:// localhost:3000 / jspm_packages / npm / aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:494:23)eval($ http:// localhost:3000 / jspm_packages / npm / aurelia -templating@1.0.0-beta.1.1.1/aurelia-templating.js:3899:73)我一直在想这个,我真的希望有人可以帮助我。
解决方案
有一点很明显,你使用的插件已经过了将近一年的时间。如果你看看它的 package.json 文件,你可以看到它是引用beta Aurelia库,而不是最新的候选版本。
查看源代码,您可以看到您收到的错误消息: github/PulsarBlow/aurelia-firebase/blob/master/src/collection.js#L13 - 我想是因为两个不同版本的依赖注入库正在使用,容器是不同的,因此,没有实例注册。
我老实说只是手动安装Firebase,并通过使用它通过Jspm安装它: jspm install firebase 应该为你做好准备。
I'm trying to get the Firebase Reactive Collection (Sync database) to work with the Aurelia-Firebase plugin. I'm using the following code to set a reference to the database:
// collections/table.js import {inject} from 'aurelia-framework'; import {ReactiveCollection} from 'aurelia-firebase'; export class TableCollection extends ReactiveCollection { constructor() { super('tables'); } }And the following code to see if the reference is working:
// table-overview.js import {inject} from 'aurelia-framework'; import {TableCollection} from './collections/table'; @inject(TableCollection) export class TableOverview { constructor(collection:TableCollection){ alert(collection); } }Upon executing my code, I get the following stack trace
------------------------------------------------ inner error: Error: Container has not been made global at Error (native) at TableCollection.ReactiveCollection (localhost:3000/jspm_packages/github/pulsarblow/aurelia-firebase@0.2.1-beta/collection.js:27:108) at new TableCollection (localhost:3000/src/collections/table.js!transpiled:25:87) at Object.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:334:14) at InvocationHandler.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168) at Container.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25) at StrategyResolver.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37) at Container._get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:502:41) at Container.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:491:28) at Object.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:339:33) at InvocationHandler.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168) at Container.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25) at StrategyResolver.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37) at Container.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:494:23) at eval (localhost:3000/jspm_packages/npm/aurelia-templating@1.0.0-beta.1.1.1/aurelia-templating.js:3899:73) at Error (native) at TableCollection.ReactiveCollection (localhost:3000/jspm_packages/github/pulsarblow/aurelia-firebase@0.2.1-beta/collection.js:27:108) at new TableCollection (localhost:3000/src/collections/table.js!transpiled:25:87) at Object.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:334:14) at InvocationHandler.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168) at Container.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25) at StrategyResolver.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37) at Container._get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:502:41) at Container.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:491:28) at Object.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:339:33) at InvocationHandler.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168) at Container.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25) at StrategyResolver.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37) at Container.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:494:23) at eval (localhost:3000/jspm_packages/npm/aurelia-templating@1.0.0-beta.1.1.1/aurelia-templating.js:3899:73) at new AggregateError (localhost:3000/jspm_packages/npm/aurelia-pal@1.0.0-beta.1.1.1/aurelia-pal.js:20:13) at Container.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:559:15) at StrategyResolver.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37) at Container._get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:502:41) at Container.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:491:28) at Object.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:339:33) at InvocationHandler.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:309:168) at Container.invoke (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:557:25) at StrategyResolver.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:145:37) at Container.get (localhost:3000/jspm_packages/npm/aurelia-dependency-injection@1.0.0-beta.1.1.3/aurelia-dependency-injection.js:494:23) at eval (localhost:3000/jspm_packages/npm/aurelia-templating@1.0.0-beta.1.1.1/aurelia-templating.js:3899:73)I've been breaking my head over this and I really hope someone can help me.
解决方案One thing that is immediately apparent is the plugin you are using is almost 1 year out of date. If you look in its package.json file you can see it is referencing beta Aurelia libraries and not the latest release candidate ones.
Looking at the source code, you can see the error message you are getting here: github/PulsarBlow/aurelia-firebase/blob/master/src/collection.js#L13 -- I think because two different versions of the Dependency Injection library are being used, the containers are different and therefore, there is no instance registered.
I would honestly just install Firebase manually and use it that way by installing it via Jspm: jspm install firebase should do the trick for you.
更多推荐
错误:容器尚未全球化
发布评论