2
我想嘗試使用Angular 2應用程序的Realm Mobile Platform,但它看起來像我無法在Angular 2中使用Realm的Javascript版本。如果我能夠在我的Angular 2應用程序中使用Realm,我去設置它?Angular 2可以使用Realm嗎?
到目前爲止,我已經成功運行了npm install --save realm
,並且我的應用程序模塊試圖導入該程序包並初始化所有內容。
import * as Realm from 'realm';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
Realm.Sync.User.login('http://local:9080', 'someUser', 'somePass', (e, user) => {
if(e) {
console.log(e);
return;
}
});
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
,我發現了以下錯誤和警告:
WARNING in ./~/realm/lib/index.js
23:11-26 Critical dependency: the request of a dependency is an expression
WARNING in ./~/realm/lib/index.js
77:27-48 Critical dependency: the request of a dependency is an expression
WARNING in ./~/realm/lib/user-methods.js
24:11-26 Critical dependency: the request of a dependency is an expression
ERROR in ./~/realm/lib/browser/index.js
Module not found: Error: Can't resolve 'react-native' in '/vagrant/angular-realm-test/node_modules/realm/lib/browser'
@ ./~/realm/lib/browser/index.js 21:0-45
@ ./~/realm/lib/index.js
@ ./src/app/app.module.ts
@ ./src/main.ts
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
我很困惑,因爲我已經包含其他第三方庫,如火力地堡,在角2級的應用程序沒有問題。我不完全確定這裏發生了什麼,所以詳細的解釋將不勝感激。
我瞭解到,如果沒有專業版或企業版,同步選項不可用。因爲我已經嘗試做以下的組件:
import * as Realm from 'realm';
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
constructor() {
const CarSchema = {
name: 'Car',
properties: {
make: 'string',
model: 'string',
miles: {type: 'int', default: 0},
}
};
const PersonSchema = {
name: 'Person',
properties: {
name: 'string',
birthday: 'date',
cars: {type: 'list', objectType: 'Car'},
picture: {type: 'data', optional: true}, // optional property
}
};
// Initialize a Realm with Car and Person models
let realm = new Realm.Realm({schema: [CarSchema, PersonSchema]});
}
}
上面的代碼給了我同樣的錯誤。
Is not Electron for making desktop apps?如果有某種方式可以讓應用程序重新上網,那就太好了。但是,我認爲這是一個非常迂迴的做法。這是你的建議嗎? – jeffmcnd
Yeah Electron是用於在節點環境中使用Web技術製作桌面應用程序的。目前,realm-js僅適用於節點可用。 我完全聽到您的瀏覽器支持,這是我們將來希望支持的內容。 –