2013-03-22 30 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的「本機模塊」將被簽署,它不會加載。