2017-05-16 78 views
1

使用TypeScript時,babel-plugin-relay和relay-compiler不解析我們的graphql調用。我們的TS-生成JS文件看起來像這樣,針對ES2015:如何使用TypeScript使用Relay Modern(babel-plugin-relay和relay-compiler)?

var mutation = compat_1.graphql(_templateObject2);

而我們從繼電器編譯器的輸出是這樣的,這表明沒有文件解析:

Parsed default in 0.05s Writing default Writer time: 0.05s [0.05s compiling, 0.00s generating, 0.00s extra] Unchanged: 0 files Written default in 0.07s

如何我們可以讓relay-compiler和babel-plugin-relay在這些文件上正常運行嗎?

回答

0

插件和編譯器都需要裸露的graphql調用才能正常工作。如果graphql調用需要一個對象(如上面的_templateObject2)或者在另一個對象上調用(因爲它在上面的compat_1上調用),那麼這兩個工具都不起作用。

要解決,我們只是使用老式的require語句,以便TS transpiler輸出純graphql電話:

const { commitMutation, graphql } = require('react-relay/compat');

完美的作品。

相關問題