1

Mousetrap javascriptファイル(http://craig.is/killing/mice)をMeteorアプリのメインディレクトリに配置すると、次のエラーが発生します。

Your app is crashing. Here's the latest log.

app/mousetrap.js:711
    _addEvent(document, 'keypress', _handleKey);
              ^
ReferenceError: document is not defined
    at app/mousetrap.js:711:15
    at app/mousetrap.js:813:4
    at /Users/Suchow/Desktop/Collective/.meteor/local/build/server/server.js:107:21
    at Array.forEach (native)
    at Function._.each._.forEach (/Users/Suchow/Desktop/Collective/.meteor/local/build/server/underscore.js:76:11)
    at run (/Users/Suchow/Desktop/Collective/.meteor/local/build/server/server.js:93:7)
Exited with code: 1
Your application is crashing. Waiting for file change.

Mousetrapファイルがclient/サブディレクトリに配置されると、エラーはなくなります。なんで?

4

2 に答える 2

2

サーバー側にはdomがないためです。ルートに置くと、サーバー側とクライアント側の両方にロードされています。

libはsugarjsのように、momentjsは両側で動作します。

于 2012-11-12T02:20:21.607 に答える
1

Meteor 1.0 では、パッケージを作成するときに、Meteor にクライアント側でのみサード パーティのライブラリをロードさせる方法は、ファイルでclientパラメータを明示的に渡すことです。api.addFilespackage.js

Package.onUse(function(api) {
    api.addFiles('lib/thirdpartylibrary.js', 'client');
}
于 2015-01-14T16:41:51.617 に答える