2017-08-03 28 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应用程序 - 取决于您将如何配置它们并指示将所需文件包含在生成的捆绑包中。