2012-02-06 15 views
8

Zacząłem zaglądać do Appceleratora 1.8.0 kilka dni iz powrotem i jestem trochę zdezorientowany przez Ti.include i wymagam. Jak rozumiem, Ti.include jest używany do dołączania zawartości pliku js do innego pliku, a wymaga się, aby publiczna api była eksponowana za pomocą eksportu. Czego nie jestem w stanie zrozumieć, to czy wywołanie require-export może zostać użyte do uzyskania publicznego API, czy naprawdę potrzebujesz go uwzględnić? Zasadniczo próbuję zrozumieć różne między include i wymagają?Zrozumienie Appceleratora Ti.include i wymaganie

Odpowiedz

8

Ti.require wykorzystuje specyfikację CommonJS. Chociaż pliki dostępne za pośrednictwem Ti.require mają dostęp do przestrzeni nazw Ti, nie mają dostępu do globalnej przestrzeni nazw - żadnych zmiennych lub funkcji zadeklarowanych w głównym programie. Pliki Ti.include mają dostęp do przestrzeni globalnej i mogą modyfikować lub dodawać do niej. Ti.require jest preferowane, ale nie zawsze praktyczne. Więcej informacji na temat funkcji Ti.require i https://wiki.appcelerator.org/display/guides/Mobile+Best+Practices można znaleźć w sekcji https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium, aby uzyskać więcej sprawdzonych metod.

0

Zasadniczo wymaga się, jeśli wyeksportujemy coś do aplikacji, podczas gdy załącznik jest używany, ponieważ sugeruje się, aby zawierała treść pliku js. Jeśli używasz w stopach/kontrolerach/file1.js jak Ti.include ("data.js") // odnosi się do stopów/kontrolerów/data.js wymagają ("dane") // mogą znajdować się w stopach/app/lib lub stop/app/assets

Uwaga: rozszerzenie .js jest wymagane podczas korzystania z funkcji INCLUDE, nie jest konieczne podczas korzystania z polecenia REQUIRE.