Cli*_*sel 6 javascript amplifyjs vue.js vuejs2 aws-amplify
这可能是一个非 Vue 特有的“JavaScript”问题。我正在尝试将特定模块作为别名导入,但这似乎是不可能的。我的具体问题如下所示,尝试在 AWS Amplify 和 Vue 中使用模块化导入。这是创建 Vue 实例的“非模块化”版本。
import Amplify, * as AmplifyModules from 'aws-amplify'
import { AmplifyPlugin } from 'aws-amplify-vue'
import aws_exports from './aws-exports';
Amplify.configure(aws_exports)
Vue.use(AmplifyPlugin, AmplifyModules)
Run Code Online (Sandbox Code Playgroud)
我已经这样做了:
import Amplify from '@aws-amplify/core'
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将 AmplifyModules 的子集传递给 Vue。我不断收到此错误:
Uncaught (in promise) TypeError: Cannot read property 'Logger' of undefined
at VueComponent._callee$ (aws-amplify-vue.common.js?19b2:3257)
at tryCatch (runtime.js?96cf:62)
at Generator.invoke [as _invoke] (runtime.js?96cf:288)
at Generator.prototype.(:8080/anonymous function) [as next] (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:114:21)
at asyncGeneratorStep (aws-amplify-vue.common.js?19b2:6805)
at _next (aws-amplify-vue.common.js?19b2:6827)
at eval (aws-amplify-vue.common.js?19b2:6834)
at new Promise ()
at VueComponent.eval (aws-amplify-vue.common.js?19b2:6823)
at VueComponent.mounted (aws-amplify-vue.common.js?19b2:3288)
Run Code Online (Sandbox Code Playgroud)
看起来 Vue 正在寻找特定的模块、Auth、Logger 等,这些模块通常由 AmplifyModules 别名提供,但从 aws-amplify 导入所有模块,而这些模块不是模块化的。
有任何想法吗?
想出了这个...
我调试了模块传递问题,并使用 Vue 和模块化导入进行了处理。对于任何感兴趣的人,我将“import * as AmplifyModules”替换为:
import { Logger } from '@aws-amplify/core'
import { I18n } from '@aws-amplify/core'
import Auth from '@aws-amplify/auth'
import { AuthClass } from '@aws-amplify/auth'
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
Vue.use(AmplifyPlugin, { AuthClass, Auth, Logger, I18n })
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人
归档时间: |
|
查看次数: |
1430 次 |
最近记录: |