2012-12-08 67 views
1

我想給spine.js一個旋轉但我在將jQuery作爲依賴時遇到困難。基本上我引用"jquery": "~1.8.3"slug.jsonpackage.json"jquery",然後我跑npm install .spine.js與jquery依賴關係的困難

火起來下襬服務器,但是當我打開我的應用程序崩潰在我下面的輸出:

/usr/local/lib/node_modules/hem/lib/resolve.js:43 
     throw "Cannot find module: " + request + ". Have you run `npm install .` 
              ^
Cannot find module: url. Have you run `npm install .` ? 

這似乎是與node.js url模塊相關,以及下襬如何使用node/lib/module.js解決/加載?依賴?

下面你會發現崩潰的hem/lib/resolve.js

module.exports = function(request, parent) { 
var dir, filename, id, paths, _, _ref1; 
if (parent == null) { 
    parent = repl; 
} 
_ref1 = Module._resolveLookupPaths(request, parent), _ = _ref1[0], paths = _ref1[1]; 
filename = Module._findPath(request, paths); 
dir = filename; 
if (!filename) { 
    throw "Cannot find module: " + request + ". Have you run `npm install .` ?"; 
} 
while (__indexOf.call(invalidDirs, dir) < 0 && __indexOf.call(modulePaths, dir) < 0) { 
    dir = dirname(dir); 
} 
if (__indexOf.call(invalidDirs, dir) >= 0) { 
    throw "Load path not found for " + filename; 
} 
id = filename.replace("" + dir + "/", ''); 
return [modulerize(id, filename), filename]; 

}特定代碼;

Module._findPath(request, paths)的調用返回false爲request =「url」和paths =「。」。

我已經嘗試手動安裝node.js url模塊,在本地甚至全局使用npm,並且仍然以相同的方式失敗。我也試過在lib下包含jquery而不是自動管理,但它給出了相同的結果。

回答

0

NPM不適用於前端開發,就Spine.js而言:)您應該安裝Twitter Bower - https://github.com/twitter/bower。您可以在系統範圍內(npm install bower -g)或本地{"devDepencies": {"bower": "0.6.6"}}將其更改爲您的package.jsonnpm install。然後創建component.json與脊椎和jQuery的依賴。之後運行bower install./node_modules/.bin/bower install .。你會在components文件夾中找到脊柱和jquery。

+0

感謝指向涼亭資源,但依賴並沒有真正的安裝失敗,似乎失敗(https://github.com/maccman/hem/tree/version0_2)。 Hem是一種工具,它不僅可以處理依賴關係,還可以幫助開發人員在開發過程中將所有這些文件都包含在一個文件中,因爲您需要在代碼中使用這些文件。 – lfurrea