交易代码“ require('@ arangodb')。db;”无法包装

时间:2018-07-11 15:38:48

标签: arangodb zeit-pkg

zeit-pkg是用于打包nodejs代码的工具。 zeit-pkg也支持require('arangojs')。但是zeit-pkg因遇到const db = require('@arangodb').db; zeit-pkg而返回错误。

> Error! TypeError: Cannot read property '0' of null
    at shortFromAlias (/usr/local/lib/node_modules/pkg/lib-es5/walker.js:69:49)
    at Walker._callee5$ (/usr/local/lib/node_modules/pkg/lib-es5/walker.js:894:25)
    at tryCatch (/usr/local/lib/node_modules/pkg/node_modules/regenerator-runtime/runtime.js:62:40)
    at Generator.invoke [as _invoke] (/usr/local/lib/node_modules/pkg/node_modules/regenerator-runtime/runtime.js:296:22)
    at Generator.prototype.(anonymous function) [as throw] (/usr/local/lib/node_modules/pkg/node_modules/regenerator-runtime/runtime.js:114:21)
    at step (/usr/local/lib/node_modules/pkg/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
    at /usr/local/lib/node_modules/pkg/node_modules/babel-runtime/helpers/asyncToGenerator.js:30:13
    at <anonymous>

我想知道require('@arangodb').db有什么特别之处。是否存在任何替代方法来编写事务。或任何其他打包工具都可以支持require('@arangodb').db;

1 个答案:

答案 0 :(得分:1)

zeit-pkg将JavaScript代码编译为可执行文件,这与Foxx不兼容,因为Foxx是运行JavaScript代码的可执行文件。

如果您想最小化/丑化/破坏代码,请看一下WebPack,this document from ArangoDB向您展示了如何使WebPack与Foxx一起工作,因为它将那些库标记为“外部”库,这些库被跳过以进行处理