2015-04-17 87 views
1

我是新來的鈦Studio和我試圖從Appcelerator的按照教程鈦工作室需要()JavaScript的模塊

http://docs.appcelerator.com/titanium/3.0/#!/guide/CommonJS_Modules_in_Titanium-section-29004791_CommonJSModulesinTitanium-AntipatternsandUnsupportedBehavior

然而,當我創建Person.js(在app /控制器的文件夾),並嘗試通過

var Person = require("Person"); 
var don = new Person('Don','Thorp'); 
var donsName = don.fullName(); // "Don Thorp" 

使用它在我的index.js文件中我遇到了錯誤的fullNmae()沒有定義(它在Person.js定義)。

有沒有人有類似的問題?請幫助我,謝謝!

的Person.js代碼

function Person(firstName,lastName) { 
    this.firstName = firstName; 
    this.lastName = lastName; 
    } 
    Person.prototype.fullName = function() { 
    return this.firstName+' '+this.lastName; 
    }; 
    module.exports = Person; 

的錯誤信息是:

[ERROR] : TiExceptionHandler: (main) [196,196] ----- Titanium Javascript Runtime Error ----- 
[ERROR] : TiExceptionHandler: (main) [0,196] - In alloy/controllers/index.js:1,69 
[ERROR] : TiExceptionHandler: (main) [0,196] - Message: Uncaught TypeError: Object #<Controller> has no method 'fullName' 
[ERROR] : TiExceptionHandler: (main) [0,196] - Source: xtend(s,s.__views);var l=require("Person"),c=new l("Don","Thorp");c.fullName() 
[ERROR] : V8Exception: Exception occurred at alloy/controllers/index.js:1: Uncaught TypeError: Object #<Controller> has no method 'fullName' 
+0

您應該可以在開發人員工具中進行調試。 –

+0

您能否分享錯誤日誌和您的Person.js代碼。 –

+0

您是否可以包含Person的代碼? –

回答

0

我想通了,它看起來像外部.js文件具有在資產中的文件夾中找到/文件夾(不直接在資產/下,它不起作用,我不承認爲什麼thogh ...)。謝謝。 對遇到類似問題的其他人可能會有用。

+0

現在我有另一個問題:我如何告訴IDE找到其他依賴關係?因爲我有一個SDK,其中一些.js文件需要()其他.js文件。 –