2017-08-03 37 views
2

我明白,在反應中您不能在src文件夾外import文件。 但是它的確切原因是什麼,我可以禁用它嗎?反應讀取src外的文件

在我的項目反應的web應用程序是整個事情的只是一部分,而不同的部件共享一些文件(CONFIGS,建立輸出),這樣的文件夾結構看起來像這樣

ProjectRoot/ 
    config 
    build-output/ 
    Part1/ 
    Part2/ 
    WebApp/ 
     src/ 
... 

當然,你可以複製文件或創建符號鏈接,但這是重複和不方便。

+0

這取決於你如何在你的WebPack –

+0

配置對其做出反應也無法抑制你從根本上導入文件。你完全可以從'src'文件夾外進行導入。你能分享正在嘗試這樣做但不工作的代碼嗎? –

+0

如果您使用的是webpack,則可以使用模塊解析:https://webpack.js.org/configuration/resolve/#resolve-modules – Matthew

回答

2

這是限制Create React App只有

此工具旨在通過提取工具來儘快獲取新用戶並與反應框架一起運行。在這種情況下限制你的工具的部分是它們的webpack配置,它被預設爲只在你的src目錄中查找JavaScript文件。

那解釋了爲什麼?但回答你的問題的另一半:

我該如何禁用它?

就是你需要eject從創建陣營應用程序,然後修改您的webpack config允許它來搜索其他目錄比src/

0

首先 - 這與反應本身無關。

如果您參考importing的JavaScript模塊(使用for now模塊裝載機像systemjs,要求等),那麼答案是:

這取決於是由Web服務器提供服務哪個目錄。如果您已將Web服務器設置爲僅爲WebApp/src文件夾提供服務,那麼瀏覽器將無法訪問外部文件以及模塊加載器。如果你將服務所有ProjectRoot目錄 - 那麼是的,你可以。

如果您準備使用某種捆綁器(webpack,browserify)進行部署的Web應用程序 - 取決於您將如何配置它們並指示將所需文件包含在生成的捆綁包中。