业力:proj4不是一个功能

时间:2017-03-03 15:24:41

标签: angular teamcity karma-runner angular-cli proj4js

真的很奇怪。我已经使用TeamCity构建了一个角度应用程序,并尝试将业力测试作为构建任务运行:

ng test

其中2个测试失败,抱怨缺少依赖性,恰好是proj4

逐步完成失败的测试,这真的很奇怪。

对proj4的调用是按函数调用的(在app和测试中本地工作):

const coords = proj4(sourceProjection, targetProjection, point.toArray());

但是在构建服务器上产生proj4 is not a function,但是proj4确实存在,但它位于名为" default"的属性后面,因此在调试器中

proj4.default(sourceProjection, targetProjection, point.toArray());

作品。

我的意思是wtf!?谁或什么是.default财产的补充。 Ruddy构建系统!

我已经仔细检查了angular-cli,npm,node等都是相同的版本。

FWIW proj4是通过angular-cli.json脚本属性在应用中包含的node_module。

1 个答案:

答案 0 :(得分:0)

包裹打包器也是如此。正如您所说,可以通过例如修复。替换

const proj4 = require("proj4")

const proj4 = require("proj4").default