2015-09-18 39 views
4

我正在尋找一種方式來使用別名路徑發生反應,從而代替像母語:有沒有辦法用React Native的包裝器別名「require」路徑?

require('../../blah') 

我可以這樣做:

require('src/blah') 

其中「SRC」是在目錄的根目錄。

+0

我找不到使用剛反應過來,打包一個明確的答案,現在我用的WebPack編譯所有的我自己的源文件和反應,打包到做一些反應原生所需的特殊的東西。實質上,react-packager打包了一個具有require的文件('webpack_bundle.js')。如果你願意,我可以進一步探討。 – Qiming

回答

0

+1我也需要這個功能。

現在,我正在使用browserify將我的js文件標記爲react-native作爲外部文件,並將aliasify模塊用於路徑別名。作爲第二步,我將我的軟件包傳遞給打包者。

到目前爲止我發現的唯一的其他解決方案是讓你的模塊在node_modules目錄(可能有鏈接)。

這兩種解決方案似乎哈克和不舒服,我...

0

有可能使用FBJS @providesModule編譯。基本上與前面加上你的資源文件:

/** 
* @providesModule blah 
*/ 

它使您能夠在require('blah')其他文件。

AFAIK這個功能應該是隻供Facebook使用,所以它可能會在未來造成警告或破壞。

+0

感謝@oblador。我還沒有機會進行測試,但會在我進行更新時進行更新。 –

+0

這是朝着正確方向邁出的一小步,但是如何在磁盤上而不是在項目文件夾中混淆爲任意路徑呢? – Qiming

+0

@Qiming:試試'npm link'或者只是常規'ln -s',然而包裝商目前還不支持這一點。 – oblador

0

您始終可以使用您的應用程序的名稱作爲「root」。 (即在package.json寫的名稱):

require('<package name>/img/yourimage.png') 
相關問題