2016-08-31 3 views
1

私はAngularアプリケーションで使用したいいくつかのモジュールに出くわしましたが、私が必要とする角度のアプリケーションで作業を行う方法の交差点にあります。 "私の工場ファイル。私のAngularjsアプリケーションでノードモジュールを使用する

HERESにノードモジュールIMに興味を持って:私は私の定型を生成するヨーマンでがぶ飲み角度を使用していますし、私がする必要がある場合、私はこの仕事をしなければならない方法を考え出す苦労しています。この現在のプロジェクトでhttps://github.com/TimNZ/node-xero

いずれかのギャルプ・スクリプトを変更します。

私はrequire()を使用する単一のファイルを "Browserify"できますが、これは間違ったアプローチですか?私はただすべてのプロジェクトファイルをブラウズする必要がありますか?この標準的な練習ですか?

アドバイスはありがたいですが、現在はまだ私を立っています。

Xeroと関連して使用したいモジュールはすべてノードモジュールのようです。

答えて

2

最も簡単な出発点は、Browserifyを使用して、選択したグローバルを使用するスタンドアロンバンドルを作成することです。

これを行うには、使用するノードモジュールが必要なJSファイルを作成します。あなたはこのコンテンツをbundle-index.jsという名前のファイルを作成することができます。

exports.xero = require('node-xero'); 

あなたはその後、スタンドアロンモジュールをビルドするには、このコマンドを実行することができ:the_globalはあなたがグローバルに適して見つける名前です

browserify --standalone the_global bundle-index.js > bundle.js 

エクスポートを含むオブジェクト。

var privateApp = new window.the_global.xero.PrivateApplication({ ... }); 

この方法は、あなたの現在のプロジェクトに混乱の最小量を伴うだろう事を行う:bundle.jsファイルがscript要素に含めると、あなたはこのようなことができ、使用してだろう。また、頻繁に変更されないサードパーティのライブラリを必要とするためにBrowserifyを使用する必要がある場合は、スタンドアロンバンドルを構築するための簡単な手動プロセスから開始できます。あなたはbundle.jsに追加輸出を追加することによって、他の必要なモジュールをエクスポートすることができます

注:

exports.xero = require('node-xero'); 
exports.someOtherModule = require('some-other-module'); 
0
(function(){ 

    var xero = require('node-xero'); 

    angular 
     .module('app') 
     .factory('myFactory', myFactory); 

    function myFactory(){ 

     var helper = { 
      myMethod: myMethod, 
     }; 

     return helper; 

     function myMethod(){ 
      xero.doStuff(); 
     } 

    } 
})(); 
+1

は、ブラウザの特定のアプリなので、使用できません「()が必要です」。 – 22Ryann

関連する問題