

Qiitaに載っていた、こちらの記事を参考に  
Microsoft Translator APIを入れようと思っています。  
[参照記事](http://qiita.com/kemayako/items/21fe36005e6e729aff77)

[code]

        'use strict';
    
    var http = require('http');
    var https = require('https');
    var qs = require('querystring');
    
    getAccessToken(function (token) {
        translate(token, '翻訳したい文章', function (translated) {
            console.log(translated);
        });
    });
    
    function getAccessToken(callback) {
        var body = '';
        var req = https.request({
            host: 'datamarket.accesscontrol.windows.net',
            path: '/v2/OAuth2-13',
            method: 'POST'
        }, function (res) {
            res.setEncoding('utf8');
            res.on('data', function (chunk) {
                body += chunk;
            }).on('end', function () {
                var resData = JSON.parse(body);
                callback(resData.access_token);
            });
        }).on('error', function (err) {
            console.log(err);
        });
        var data = {
            'client_id': 'クライアントIDに設定した文字列',
            'client_secret': '顧客の秘密に設定した文字列',
            'scope': 'http://api.microsofttranslator.com',
            'grant_type': 'client_credentials'
        };
    
        req.write(qs.stringify(data));
        req.end();
    }
    
    function translate(token, text, callback) {
        var options = 'appId=Bearer ' + token + '&to=en&text=' + text +
                '&oncomplete=translated';
        var body = '';
        var req = http.request({
            host: 'api.microsofttranslator.com',
            path: '/V2/Ajax.svc/Translate?' + qs.escape(options),
            method: 'GET'
        }, function (res) {
            res.setEncoding('utf8');
            res.on('data', function (chunk) {
                body += chunk;
            }).on('end', function () {
                eval(body);
            });
        }).on('error', function (err) {
            console.log(err);
        });
    
        req.end();
    
        function translated(text) {
            callback(text);
        }
    }
    
[/code]

上記のコードをjsファイルに追記すると、  
consoleエラーで

[code]

    require is not defined
    
[/code]

と表示されます。

この問題で他のメソッドもconsole.logが反応しない状態になっています。

Qiitaの記事ではhtmlファイルまでは載っていなかったのですが、  
何かあらかじめ宣言しておく必要があるのでしょうか？

よろしくお願いします。


CC BY-SA 3.0
2015-10-07T05:31:18.800
17337
2015-10-07T08:58:50.293
8415
question
javascript jquery
翻訳APIを入れるjsを書くとrequire is not definedが表示され、javascriptが動作しない


ブラウザ上で動くJavascriptではなく、サーバサイドで動くJavaScriptですね。  
サーバサイドで動くJavaScriptなのでサーバサイドで動作させるための環境が必要です。

commonJSやnode.jsのキーワードで検索してみてください。いろいろと参考になるサイトがヒットすると思います。


CC BY-SA 3.0
2015-10-07T06:36:55.073
17342
2015-10-07T06:36:55.073
10724
17337
answer


ブラウザで動かすコードではないので別のサンプルコードを探したほうが早いかもしれません。例えば [第38回 使ってみようMicrosoft
Translator：使ってみよう！ Windows Live SDK/API｜gihyo.jp …
技術評論社](http://gihyo.jp/dev/serial/01/wl-sdk/0038)


CC BY-SA 3.0
2015-10-07T08:58:50.293
17357
2015-10-07T08:58:50.293
5008
17337
answer