当前位置: 首页 > 知识库问答 >
问题:

使用汇总导入firebaseui

袁阿苏
2023-03-14

我正在尝试使用rollup导入fire baseui库。如果我将firbaseui包含在他们提供的cdn中,用户界面加载良好:

<script src="https://www.gstatic.com/firebasejs/ui/4.5.0/firebase-ui-auth.js"></script>
<link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/4.5.0/firebase-ui-auth.css" />

但是,如果我尝试使用import*作为firebaseui从'firebaseui'导入它,我会在浏览器中遇到以下错误:Uncaught TypeError:无法解析模块说明符“firebaseui”。相对引用必须以“/”、“/”或“./”开头

我在这个配置中使用了rollup的plugin-node-解析和plugin-Common js:

import resolve from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";

export default {
  // If using any exports from a symlinked project, uncomment the following:
  // preserveSymlinks: true,
  input: ["src/index.js"],
  output: {
    file: "public/index.js",
    format: "es",
    sourcemap: true,
  },
  plugins: [resolve(), commonjs()],
};

我认为这是为了处理像这样的裸模块错误,所以我不知道如何修复它。


共有1个答案

墨财
2023-03-14

事实证明,这个问题是由firebaseui在其ES模块构建中不正确地导入firebase造成的。我在这里提出了一个问题,但它被关闭了。解决方法是进入node_modules并找到firebaseui的ES模块构建(node_modules/firebaseui/dist/esm.js),并将第一行从import*改为firebase,从“firebase/app”改为“firebase” 从“firebase/app”导入firebase

 类似资料:
  • 如果我要将svg文件导入ES6模块,我该如何在汇总中处理它?我现在有这样一个例子(我正在做的简单例子): 我有一个看起来像这样的汇总配置: 然后我得到以下错误: 无法解决“/资产/下一步。svg’from/home/magnferm/projects/slask/rollup test/src/chill/index。js 路径没有问题,但rollup似乎不知道如何处理svg文件。是否有一个插件我

  • 我正在使用Rollup绑定一个JS库。这个库依赖于@tensorflow/tfjs-core。 在tfjs的代码中,有一个获取URL的函数。如果它在浏览器环境中,它会使用全局函数;如果不是,它会尝试导入。 以下几行: 我的库是在浏览器中运行的,所以它总是使用全局函数。然而,Rollup仍然绑定了my lib的资产中的。 这不应该是一个问题,但一些消费者在使用webpack的React项目中使用库时

  • 我有一个问题与汇总和汇总插件节点解决。 如果我有这种类型的进口: 它被转换为: 当我尝试在使用Webpack的项目中使用它时,这会破坏捆绑包,因为文件夹显然不是我的Rollup-bundled包的文件夹的子文件夹(因为npm平坦了依赖项)。 我已经将所有的定义为。 这是我的相关配置: 如何使构建保持节点模块导入保持绝对路径?我想在写的时候保存它们,这样节点。js/webpack/wathever可

  • 本文向大家介绍coffeescript使用的方式汇总,包括了coffeescript使用的方式汇总的使用技巧和注意事项,需要的朋友参考一下 Coffeescript作为Javascript低调的小弟实在是有过人之处,使用它可以增进开发效率,减少代码错误, 关键是能大幅提升开发愉悦感。我越来越觉得只要可能就在自己的项目中把coffee用起来。 然而也许你和我一样,在了解完coffeescript的语

  • 我在一个ES6项目上工作,我使用rollup和babel进行传输。它工作得很好,除了当我尝试导入使用commonjs(尤其是require('something'))的npm模块时,在我的浏览器中出现错误“require is not defined”(这意味着它没有正确地将节点模块从commonjs编译到ES5)。然而,我使用了rollup plugin node resolve和rollup

  • 我正在开发一个NPM包,它使用rollup绑定并发布到NPM。我想了解一个依赖项是否应该通过汇总绑定,最佳实践是什么。以下是我的逐步分析: > “src”中使用的每个依赖项都应该添加到“deps”或“peerDeps”中 如果您选择只将其放在“peerDeps”中,而不是“deps”,考虑到本地构建目的,最好添加到“devDeps”。否则,您可能必须使用第三方工具在“peerDeps”中安装依赖项