私は単純な NativeScript アプリを構築しており、TypeScript ベース コードを使用してそれを実行しようとしています。
OSXでSublime Text 3を使用しています。
デモ アプリを見て、 NativeScripttns_modules
リポジトリと一致することがわかったので、Git サブモジュールとしてフォルダーに追加し、コンパイルしました ( )。これらのモジュールを統合するのは間違った方法ですか?app/
npm i && grunt
その後、ファイルtns emulate android
で構成されたアプリを実行するだけでは不十分であることに気付きました。それらもコンパイルする必要がありました。.ts
そのため、Grunt タスクをセットアップしましたが、依存関係を処理するのは簡単ではありませんでした。Gruntfile.coffee
私はこれで終わったapp/
:
module.exports = (grunt) ->
grunt.loadNpmTasks 'grunt-typescript'
grunt.config 'typescript',
build:
src: [
'**/*.ts'
'!*_modules/**'
]
options:
references: [
'tns_modules/bin/dist/definitions/**/*.d.ts'
]
target: 'es5'
sourceMap: false
declaration: false
module: 'commonjs'
noResolve: true
そして、それは単純なコードで動作します。たとえば、次のようObservable
に記述してモジュールを拡張できます。
import observable = require("data/observable");
class Activities extends observable.Observable {
//...
}
次に、grunt
(.js
ファイルはファイルと共に作成されます) でコンパイルし、( Genymotion エミュレーターで).ts
実行します。tns emulate android
それは私の開発に適したアーキテクチャですか? Telerik Platform を使用すると、コンパイル プロセスが非表示になるため、正しく行っているかどうかわかりません。
そして今、Telerik のサイドバーモジュールをページの XML ファイルで直接使用しようとしています。
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded" xmlns:tsb="./tns_modules/bin/dist/apps/TelerikNEXT/TelerikUI/side-bar">
<tsb:SideBar title="MyApp">
...
しかし、私はこのエラーが発生します:
E/TNS.Native( 2456): TypeError: 未定義のプロパティ 'android' を読み取れません E/TNS.Native( 2456): ファイル: "/data/data/org.nativescript.scmobile/files/app/./tns_modules/ bin/dist/apps/TelerikNEXT/TelerikUI/サイドバー、行: 39、列: 39
以下に対応します。
this._android = new com.telerik.android.primitives.widget.sidedrawer.RadSideDrawer(this._context);
これらのモジュールをどのように含める必要があるか考えていますか? 私はモバイル開発が初めてであることに注意してください。