2013-03-22 31 views
1

我无法获取依赖于JSDom工作Azure的nodejs应用,因为它取决于本地模块 - Contextify,我知道Azure不提供本机编译模块。Azure上的JSDom(Native Node.js模块)

然而,根据Azure documentation

由于Windows Azure云服务都依赖于文件夹被部署为应用程序的一部分node_modules,包括任何本机模块的安装模块的一部分,应该在尽可能长的云服务工作因为它是在Windows开发系统上安装和编译的。

,因为它NPM期间已经编译安装这一切工作正常,在我的dev的盒子,我不明白的是为什么它不工作在Azure上为我提供的编译版本?如果它在我的Windows开发箱上工作,编译显然是成功的。我部署到Azure形式的本地git存储库,所以我想知道如果编译的文件被遗漏了,当我提交?

回答

0

UPDATE:最新的Azure的发布(具体而言,移动服务后端)支持任意NPM模块 - See the section on Mobile Services: NPM Module Support

从上故宫的JSDom文档:

不幸的是,做这种神奇的需要C++。而在Node.js中,JavaScript中使用C++意味着使用“本机模块”。原生模块在安装时进行编译,以便它们能够为您的机器精确工作;也就是说,你不会从npm下载一个symxtify二进制文件,而是从npm下载源文件后在本地构建一个。

https://npmjs.org/package/jsdom#contextify

因为你的“本机模块”不具有相同签名的任何机器Azure的“本机模块”将被签署,它不会加载。