1

私はspine.jsにスピンを与えようとしていますが、依存関係としてjQueryを含めるときに問題があります. 基本的に"jquery": "~1.8.3"inpackage.json"jquery"inを参照してslug.jsonから実行しますnpm install .

hem サーバーを起動しますが、アプリをロードするとクラッシュし、次の出力が表示されます。

 /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.jsurlモジュールに関連しているようですが、hem は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];

};

return falseの呼び出しModule._findPath(request, paths)は、request = "url" および paths="." です。

ローカルとグローバルの両方で npm を使用して、node.js url モジュールを手動でインストールしようとしましたが、まだ同じように失敗しています。自動管理の代わりにlibの下にjqueryを含めてみましたが、同じ結果が得られます。

4

1 に答える 1

0

Spine.jsがそうである限り、NPMはフロントエンド開発用ではありません:) Twitter Bower - https://github.com/twitter/bowerをインストールする必要があります。システム全体 ( npm install bower -g)、またはローカルで実行{"devDepencies": {"bower": "0.6.6"}}できます。次に、spine と jquery の依存関係を作成します。実行または後。フォルダにspineとjqueryがあります。package.jsonnpm installcomponent.jsonbower install./node_modules/.bin/bower install .components

于 2012-12-08T21:21:48.287 に答える