2016-04-08 18 views
0

私はユーザーが電話番号を入力し、Twilio API経由でテキストメッセージを送信できるWebアプリケーションを構築しています。私は以下のようにファイルに機能を組み込んだ。このファイルにI cdnode twilioActions.jsを実行すると、テキストメッセージが送信されます。ModuleParseが失敗したか見つからない

var client = require('twilio')(CLIENT_ID, CLIENT_SECRET); 

// ideally, I'd like to send the message using this method and call this from other JavaScript files 
export const sendMessage =() => { 

} 

// the following code works when I run 'node twilioActions.js' 
client.sendMessage({ 
    to:'...', 
    from: '...', 
    body: 'Text message test.' 
}, function(err, responseData) { 
    if (!err) { 
    console.log(responseData.from); // outputs "+14506667788" 
    console.log(responseData.body); // outputs "word to your mother." 
    } 
}); 

しかし、別のReactファイルからsendMessageメソッドを呼び出したいとします。ここでは、次のとおりです。

import * as twilioActions from './twilioActions'; 

class PhoneView extends React.Component{ 
    // other methods are hidden obviously, the one below is called when a button is pressed to send a message. 
    sendMessage() { 
    twilioActions.sendMessage(); 
    } 
} 

私はプロジェクトをビルドしようとすると、私は次のエラーを取得:

ERROR in ./~/twilio/package.json 
Module parse failed:/Users/Felix/Desktop/ECE590/node_modules/twilio/package.json Line 2: Unexpected token : 
You may need an appropriate loader to handle this file type. 
| { 
| "_args": [ 
|  [ 
|  "twilio", 
@ ./~/twilio/lib/Client.js 5:17-43 

ERROR in ./~/request/lib/har.js 
Module not found: Error: Cannot resolve module 'fs' in /Users/Felix/Desktop/ECE590/node_modules/request/lib 
@ ./~/request/lib/har.js 3:9-22 

ERROR in ./~/tunnel-agent/index.js 
Module not found: Error: Cannot resolve module 'net' in /Users/Felix/Desktop/ECE590/node_modules/tunnel-agent 
@ ./~/tunnel-agent/index.js 3:10-24 

ERROR in ./~/tunnel-agent/index.js 
Module not found: Error: Cannot resolve module 'tls' in /Users/Felix/Desktop/ECE590/node_modules/tunnel-agent 
@ ./~/tunnel-agent/index.js 4:10-24 

私は単純なミスを作っていますように感じるし、おそらく正しいライブラリを使用していませんか、適切な参照を含む。誰かがこれをうまく動作させる方法について正しい方向で私に指摘できますか?どうもありがとうございます!

+0

プロジェクトを構築するために何を使用していますか? Webpack?あなたのビルドステップでES2015を処理するように設定され、設定されたBabelのようなトランスパイライザを持っていないようです。 – Sean

答えて

0

ここではTwilioの開発者のエバンジェリストです。

twilio npmモジュールは、フロントエンドで使用するために構築または推奨されていません。主なことは、サイトのフロントエンドコードにアカウントの資格情報を公開する必要があることです。これは、悪意のある攻撃者があなたの資格情報を取得してTwilioアカウントを乱用する可能性があるため、セキュリティリスクです。

このような操作を実行するために、AJAXリクエストで呼び出すことができるサービスをサーバー側で作成することをお勧めします。