2

ここの例に従おうとしましたが、うまくいきません。

user.js ファイルにユーザー モデルがあります。

import thinky from './thinky';
let type = thinky.type;
let User = thinky.createModel('User', {
  id: type.string(),
  username: type.string(),
});
export default User;

let Game = require('./game');
User.hasAndBelongsToMany(Game, "games", "id", "id");

game.js ファイルのゲーム モデル:

import thinky from './thinky';
let type = thinky.type;
let Game = thinky.createModel('Game', {
  id: type.string(),
  host: type.string()
});

export default Game;

let User = require('./user');
Game.hasAndBelongsToMany(User, "players", "id", "id");

ユーザーとゲームのインスタンスを作成するtest.jsファイルにそれらをインポートしようとすると、First argument of hasAndBelongsToMany must be a Model

es6構文なしで書き込もうとしましたが、まだ機能しません...

4

3 に答える 3

2

私の例では、エクスポートのデフォルトをmodule.exportsに変更すると、すべてが機能するはずです

于 2015-12-11T05:15:20.977 に答える
1

循環参照を避ける必要があるので..

user.js

import thinky from './thinky';
let type = thinky.type;
let User = thinky.createModel('User', {
  id: type.string(),
  username: type.string(),
});
export default User;

game.js

import thinky from './thinky';
let type = thinky.type;
let Game = thinky.createModel('Game', {
  id: type.string(),
  host: type.string()
});

export default Game;

index.js

import User from './user';
import Game from './game';

Game.hasAndBelongsToMany(User, "players", "id", "id");
User.hasAndBelongsToMany(Game, "games", "id", "id");

export {User, Game};
于 2015-11-18T14:07:29.957 に答える
0

複数のモデル定義をロードしてアプリで使用できるようにするという目的のために設計されたこのローダーを試すこともできます。

https://github.com/mwielbut/thinky-loader

于 2016-05-09T15:51:27.497 に答える