真是奇怪的一个。我已经使用 TeamCity 构建了一个 Angular 应用程序,并尝试将业力测试作为构建任务运行:
ng test
2 个测试失败,抱怨缺少的依赖项恰好是proj4
.
通过失败的测试,这真的很奇怪。
对 proj4 的调用是按函数进行的(在应用程序和测试中本地工作):
const coords = proj4(sourceProjection, targetProjection, point.toArray());
但是在构建服务器上 yield proj4 is not a function
,但是 proj4 确实存在,但是它位于一个名为“default”的属性后面,因此在调试器中
proj4.default(sourceProjection, targetProjection, point.toArray());
作品。
我是说wtf!?谁或什么在补充该.default
属性。红润的构建系统!
我已经仔细检查了 angular-cli、npm、node 等都是相同的版本。
angular-cli.json
FWIW proj4 是一个 node_module 通过's script 属性包含在应用程序中。