【发布时间】:2018-09-07 06:31:14
【问题描述】:
我有一个应用程序从 angular 2 迁移到 angular 5。当我在本地部署它并通过 http-server 启动它时,我没有遇到任何错误。
在我的虚拟机上部署时出现问题。部署后,当我在浏览器中打开它时,它会引发以下错误:
TypeError: Object(...) 不是函数 在 _isAndroid (forms.js:920)
Error: Uncaught (in promise): TypeError: Object(...) is not a function TypeError: Object(...) 不是函数 在 _isAndroid (forms.js:920)
vm中的deploy流程如下:
- 克隆存储库
- 安装 npm 包
- 通过
angular-cli构建应用程序 - 复制相对路径上的分发文件夹
我的机器(本地和虚拟机)具有完全相同的 npm 5.8.0、@angular-cli 1.7.3,我不使用 package-lock.json。
最后我不得不提一下,在迁移之前,我的部署过程完全相同。
你知道可能出了什么问题吗?
更新
我想出的是一个全新的 vm 初始化(操作系统、节点等)
【问题讨论】:
-
好奇,您是否在本地和虚拟机中都使用 AoT 进行构建?
-
不,这是默认的 JiT
-
也许某些软件包已更新并且您的 vm 上有更新的版本?尝试在两个平台上列出软件包并查看差异
-
@David 我也尝试在我的电脑上克隆存储库并从头开始安装软件包,但没有任何问题。
-
你比较了两个平台上安装的包吗? (
npm ls)
标签: linux angular npm virtual-machine angular-cli