3

Apple のドキュメントによると、インポート ステートメントを使用して、ある JS ファイルを別の JS ファイルにインポートできます。はい、JS 関数を使用して、他の JS 関数を再帰的に呼び出すことができます。

しかし、ノード モジュールを自動化に含めることはできますか? Node/ npmモジュールには、生活を楽にし、コードの重複を避けるためのツールがたくさんあるようです。

そして実際に、私のコードで次の呼び出しを行うことで、moment.jsという 1 つのノード モジュールを使用することができました。

#import "../node_modules/moment/moment.js"

しかし、私は他の npm モジュールと同じ運がありません。Faker.jsCharlatan.jsのカップルを試してみ ましたが、 Faker.js で次のエラーが発生しました

スクリプトがキャッチされていない JavaScript エラーをスローしました: Can't find variable: window on line 618 of Faker.js

*.js ファイルを見ると、これらのモジュールがパッケージ化されている方法に関係があるように見えます。私のJSの知識はどこにも行きません。

瞬間のjsファイルの最後の数行

// CommonJS module is defined
if (hasModule) {
    module.exports = moment;
}
/*global ender:false */
if (typeof ender === 'undefined') {
    // here, `this` means `window` in the browser, or `global` on the server
    // add `moment` as a global object via a string identifier,
    // for Closure Compiler "advanced" mode
    this['moment'] = moment;
}
/*global define:false */
if (typeof define === "function" && define.amd) {
    define("moment", [], function () {
        return moment;
    });
}

Faker js ファイルの最後の数行

if (typeof define == 'function'){
   define(function(){
        return Faker;
   });
}
else if(typeof module !== 'undefined' && module.exports) {
    module.exports = Faker;
}
else {
    window.Faker = Faker;
}

ノードコンソールでこれらのモジュールを完全に操作できるので、モジュールに問題はなく、JS ファイルにモジュールを含める/要求する方法だけです。

4

1 に答える 1

2

Fakerが私のために働くために2つのことをしなければなりませんでした

  1. 「厳格な使用」を削除
  2. ウィンドウが未定義かどうかを確認する
  3. このステートメントを追加

    this['Faker'] = Faker;

于 2013-02-26T23:36:48.160 に答える