TONY0922のブログ

学んだことを適当に記録していくブログです。主にRubyで仕事してます。最近はJavaScriptとObjectibe-C始めました。Titanium関連もちょいちょい触ってます。更新頻度はそんなに高くないので、ご了承下さい。

Titanium Mobileでrequireを使用して、モジュールを読み込む方法(Android/iOS)

Titanium SDK:3.2.0
Alloy:1.3.0

定数管理したJSファイルを読み込もうとしたんだが、

・constants.js (app/lib/constants.js)

exports = {
	test : {
		name : "hogehoge"
	}
}

alloy.js

Alloy.Globals.constants = require("constants");
console.log(Alloy.Globals.constants.test.name); // point1

これだと、point1でiPhoneでは、値が出力されるが
何故かAndroidだと動かない。
(constantsが{}になっていて、constants.test.nameがundefinedになる。)

これを下記のように直したら、動いた。

・constants.js (app/lib/constants.js)

module.exports = {
	test : {
		name : "hogehoge"
	}
}

CommonJSやmodule.exportsやexportsが
またそこまで理解できないので、時間を見つけて、調べる予定。