首页 > 解决方案 > 如何将 Quasar 2 与 AWS Amplify 结合使用?

问题描述

我为 Quasar 创建了以下引导文件src/boot/amplify.js并添加'amplify'quasar.conf.js

import Amplify from 'aws-amplify';
import awsconfig from '../aws-exports';
import {
  applyPolyfills,
  defineCustomElements,
} from '@aws-amplify/ui-components/loader';

applyPolyfills().then(() => {
  defineCustomElements(window);
});
Amplify.configure(awsconfig);

但是我从该行收到许多导入错误import Amplify from 'aws-amplify';

Module not found: Can't resolve imported dependency "./printError"        

 App •  ERROR  •  UI  in ./node_modules/graphql/error/GraphQLError.mjs    

还有更多——我已经通过了它们npm install --save graphql,但是我发现了更多的导入错误。使用 Vue 3 CLI 而不是 Quasar,按照 Amplify 文档进行设置很容易。

任何人都幸运地使用了 Quasar,或者知道可能的解决方案是什么?

标签: amazon-web-servicesvue.jsaws-amplifyvuejs3quasar

解决方案


是 webpack 问题,请检查: https ://github.com/graphql/graphql-js/issues/2721#issuecomment-723008284

我通过添加到 quasar.conf.js 解决了它

build: {
...
extendWebpack (cfg, {isServer, isClient}) {
        cfg.module.rules.push ({
          test: /\.m?js/,
          resolve: {
            fullySpecified: false,
            fallback: {crypto: false}
          }
        })
      }
    }
}

“fallback : {crypto: false}”它用于解决有关crypto-js缺失依赖的后续错误: https ://stackoverflow.com/a/67076572/1550140


推荐阅读