我正在使用Angular2和类型记录进行一个项目(v1.8.10)。我们希望将来自ArangoDB数据库的数据集成到web应用程序中。如果可能的话,我想使用arangojs的司机。由于arangojs模块的类型还不存在(如果存在,有人能指点我吗?)我正在尝试使用allowJs编译器选项。但是,系统is无法加载arangojs模块。在我的ts文件中(在任何类定义之外)的下面一行:
let arangojs = require("arangojs");转到:
var arangojs = require("arangojs");但是,当我加载我的web应用程序时,这个要求(“arangojs”)会生成以下错误:
(index):48 Error: (SystemJS) SyntaxError: Unexpected token <欢迎有关如何在Angular2 web应用程序中使用arangojs驱动程序的任何建议或建议。
谢谢
更新
我发现了上面提到的错误。这个错误是由于我的system.config.js中的一个错误造成的。在修复了输入错误后,由于加载诸如http、https、querystring等arangojs依赖项等错误,模块无法加载。我推测通过require在幕后使用的模块加载程序与Angular2使用的systemjs是不兼容的。我能够装载小型化的arangojs驱动器
<script src="arangojs.min.js"></script>然后使用
declare var arangojs : any 在我的打字记录文件里。不过,我更喜欢在类型记录环境中使用arangojs。有没有人在Angular2类型记录环境中使用arangojs驱动程序(而不是我前面描述的黑客),如果是的话,您是如何让它工作的?
再次感谢。
发布于 2016-07-20 15:58:14
当您试图在浏览器中使用驱动程序时,您应该使用小型化的包(它正确地使用网络逻辑的web版本而不是Node.js版本)。
浏览器包使用UMD包装器,因此如果您可以设置require来加载缩小的包而不是NPM模块,那么应该可以用SystemJS加载它。
否则,如果您能够说服模块加载器加载util/request.web.js而不是util/request.js,则可以加载NPM模块。这个包是使用Webpack构建的,Webpack会自动完成这个任务。
https://stackoverflow.com/questions/38465164
复制相似问题