Javascript/узел/Twilio — ReferenceError: требование не определено

Я установил Node из:

Узел

и запустите это в cmd:

npm install twilio

Затем я попробовал пример кода, предоставленный Twilio:

var accountSid = 'MyAccountSidHere';
var authToken = "MyAccountAuthTokenHere";
var client = require('twilio')(accountSid, authToken);

client.sms.messages.create({
    body: "Jenny please?! I love you <3",
    to: "SomeNumber",
    from: "MyNumber"
}, function(err, message) {
    process.stdout.write(message.sid);
});

Сохранил это в файл MyFile.js и дважды щелкнул по нему.

Я получаю сообщение об ошибке:

ReferenceError: require is not defined

Это мое первое знакомство с JavaScript, и я нашел много похожих вопросов, но не смог решить этот.

Я должен использовать это с QML, поэтому я хочу загрузить его, используя:

import "MyFile.js" as MyFile

затем вызовите код javascript как функцию.


person uniquenamehere    schedule 15.11.2013    source источник
comment
Что вы имеете в виду, когда говорите «Сохранил это в файл MyFile.js» и дважды щелкнул по нему. Вы на самом деле запускаете код в node.js, используя команду «node» из командной строки? Require — это функция node.js, которая является глобальной в любом модуле node.js, поэтому перейдите к документации по началу работы на nodejs.org. и узнайте, как запустить модуль node.js.   -  person douwe    schedule 15.11.2013


Ответы (1)


Я немного почитал QML и не понимаю, как можно использовать модуль node.js в QML. QML используется как язык, где QT — это механизм JavaScript, а node.js — серверный механизм Javascript.

Функция require() — это основная функция node.js, которая является частью движка. Это не что-то специфичное для языка, точно так же, как объект window в браузерном Javascript не является чем-то в языке Javascript.

Как я сказал в своем комментарии, вы должны проверить, что на самом деле представляет собой node.js: механизм JavaScript на стороне сервера, который выполняет файлы JavaScript. Это не фреймворк, который вы можете загрузить в другой движок, такой как QT.

Ваш код будет работать, если вы используете его из командной строки следующим образом:

node MyFile.js

Я сомневаюсь, что это полезно для вашего варианта использования в качестве импорта QML.

person douwe    schedule 15.11.2013
comment
Теперь я понимаю. Спасибо за помощь! - person uniquenamehere; 15.11.2013