0

我在使用 npm 安装的项目中使用 intl-tel-input。当我使用 Firebase 模拟器进行测试时,一切似乎都运行良好,但它在部署后停止工作。

检查 Chrome 开发工具中的 Sources 选项卡后,我可以看到该模块未正确包含。(请检查图片)但是,我完全无法弄清楚为什么。请帮忙!

电话输入字段运行良好的模拟器屏幕截图。

部署后截取的屏幕截图,电话输入字段已损坏。

源文件 - intlTelInput.js 位于 /node_modules/intl-tel-input/build/css/intlTelInput.js

源文件 - intlTelInput.css 位于 /node_modules/intl-tel-input/build/js/intlTelInput.css

4

1 回答 1

0

默认情况下,Firebase在部署时会忽略目录。 node_modules

您可以使用一些选项来解决此问题。

  1. 使用像 Rollup 或 Webpack 这样的构建工具来生成包含节点依赖项的包。
  2. 将所需node_modules文件复制到不同的目录,例如assets并从那里加载它们。
  3. 更新以在部署firebase.json时不忽略。node_modules请注意,如果您有任意数量的节点包,这可能会大大增加已部署应用程序的大小。
于 2021-01-19T00:28:59.580 回答