コンテキストの扱いが違う。
・Titanium.include(`ファイル名.js`)
インクルードされたjsファイルは、インクルード元のコンテクストで実行される。
・Titanium.UI.cretaeWindow({ url:`ファイル名.js`})
Titanium.UI.Windowを生成する際に、オプションパラメータ'url'でインクルードファイルを指定すると、新しいコンテキストでJavaScriptが実行される。
変数や関数は、それぞれ別物として参照される。
しかし、@masuidriveさんから聞いた限りだと、上記の方法ではなくrequireでインポートする方法の方が名前空間の問題でいいらしい。
なので、下記のようにするよいいみたいだ。
サンプル
- var hoge = require("hoge")
- hoge.foo()
---hoge.js---
- exports.foo = function(){
- Ti.API.info("foo");
- };