2013-11-15 20 views
0

我已經從安裝節點:的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代碼的函數。

+0

當你說「保存到MyFile.js文件並雙擊它時,你是什麼意思」。 你真的使用命令行'node'命令在node.js中運行代碼嗎? Require是node.js的一個功能,它在任何node.js模塊中都是全局的,因此請轉到http://nodejs.org/上的入門文檔,並學習如何運行node.js模塊。 – douwe

回答

3

我已經讀了一點QML,我看不出如何在QML中使用node.js模塊。 QML被用作一種語言,其中QT是JavaScript引擎,node.js是服務器端JavaScript引擎。

require()函數是node.js的核心函數,它是引擎的一部分。它不是語言特定的,就像窗口基於瀏覽器的Javascript中的對象不是Javascript語言中的某些東西。

正如我在我的評論中所說的,你應該看看node.js究竟是什麼:一個服務器端JavaScript引擎,它執行JavaScript文件。這不是一個你可以加載到另一個引擎如QT的框架。

node MyFile.js 

我懷疑這是爲您的使用情況作爲QML進口有益的是:如果你使用這樣的命令行

你的代碼運行。

+0

我現在明白了。感謝您的幫助! – Phat