首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标识符“模块”已经声明-放大和nuxt 3。

标识符“模块”已经声明-放大和nuxt 3。
EN

Stack Overflow用户
提问于 2022-05-01 08:04:54
回答 2查看 614关注 0票数 4

我得到了一个错误的nuxt3,然后设置这个放大插件。我正试图通过插件向nuxt3添加auth。

plugins/amplify.js

代码语言:javascript
复制
import Amplify, {withSSRContext} from 'aws-amplify';
export default defineNuxtPlugin((ctx) => {
  const awsConfig = {
    Auth: {
      region: "ap-south-1",
      userPoolId: "ap-south-1_#########",
      userPoolWebClientId: "#####################",
      authenticationFlowType: "USER_SRP_AUTH",
    },
  };
  Amplify.configure({ ...awsConfig, ssr: true });
  if (process.server) {

    const { Auth } = withSSRContext(ctx.req);
    return {
      provide: {
        auth: Auth,
      },
    };
  }

  return {
    provide: {
      auth: Auth,
    },
  };

}
代码语言:javascript
复制
[nuxt] [request error] Identifier 'module' has already been declared
  at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)  
  at async link (internal/modules/esm/module_job.js:67:21)

有人知道这是怎么回事吗?

EN

回答 2

Stack Overflow用户

发布于 2022-05-24 23:54:32

我自己也在面对这一切..。我不认为这是一个裸体的问题,而是很难接受的。

我放弃了在dev模式下运行应用程序,而只是求助于构建应用程序并启动它。另外,为了在vite中使用aws放大,您需要应用一些解决方案:

https://ui.docs.amplify.aws/vue/getting-started/troubleshooting

对于window语句(这在浏览器上才有意义),您需要用if语句包装它。把这个添加到我的插件文件中

代码语言:javascript
复制
if (process.client) {
  window.global = window;
  var exports = {};
}

这将使您可以构建项目并使用npm run build运行它。远非理想,但除非有人知道如何用vite中的dev来解决这个问题.

顺便说一句,你也可以切换到webpack建设者的nuxt设置,这个问题就没有了。// https://v3.nuxtjs.org/api/configuration/nuxt.config

代码语言:javascript
复制
export default defineNuxtConfig({
  builder: "webpack"
});
票数 1
EN

Stack Overflow用户

发布于 2022-05-04 12:42:01

我认为这可能是一个问题,汽车进口的努xt。

我添加了一个~/composables/useBucket.ts文件,我在~/api中使用了它。第二天也出现了同样的错误。在我把~/composables/useBucket.ts搬到~/composablesServer/useBucket.ts之后,问题就消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72075007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档