当前位置: 首页 > 知识库问答 >
问题:

用于 src 外部文件的符号链接node_modules

方永贞
2023-03-14

在我的项目中,我使用一个JSON文件作为数据库(当前存储在我的计算机的本地)。它由节点修改。js和一些信息在import:import Data from'myPath/appData中使用React呈现。json'我不能将数据库放在src文件夹中,因为构建是静态的,我的数据库必须是动态的。我得到这个错误:

Failed to compile.
./src/components/Ligne1.jsx
Module not found: You attempted to import myPath/appData.json which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to it from project's node_modules/.

我现在请你帮忙添加符号链接。我在node_modules中创建了文件夹“appData ”,使用了:

const fs=require('fs');
fs.symlink('.src/','.node_modules/app/',e=>{});
import Data from 'myPath/appData.json';

在我的组件中使用它,比如:

import Data from 'appData';

但我也得到错误:

Failed to compile.
export 'default' (imported as 'Data') was not found in 'appData'

我正在寻找一个解决方案来忽略src文件夹之外的导入限制(符号链接或其他东西:我已经尝试更改webpack的配置,但它没有改变任何东西)或其他解决方案来从我的JSON文件(目前存储在我的计算机上的本地)中获取信息。

谢谢你的时间。

共有1个答案

穆季萌
2023-03-14

此限制确保所有文件或模块(导出)都在< code>src/目录中,实现在< code >中。/node _ modules/react-dev-utils/modulescopeplugin . js ,代码如下。

// Resolve the issuer from our appSrc and make sure it's one of our files
// Maybe an indexOf === 0 would be better?
     const relative = path.relative(appSrc, request.context.issuer);
// If it's not in src/ or a subdirectory, not our request!
     if (relative.startsWith('../') || relative.startsWith('..\\')) {
        return callback();
      }

您可以通过以下方式取消此限制

  1. 更改这段代码(不推荐)
  2. 或者执行弹出,然后删除ModuleScopePlugin。js
  3. 或comment/removeconst ModuleScopePlugin=require('react-dev-utils/ModuleScopePlugn')来自./node_modules/react-scripts/config/webpack.config.dev.js

PS:当心弹出的后果。

 类似资料:
  • 问题内容: 大家好,我需要在linux中执行此操作: 给出:文件名“ foo.txt” 查找:所有符号链接到“ foo.txt”的文件 怎么做?谢谢! 问题答案: 这取决于是否要查找指向特定文件的链接,那么这是唯一的好方法: 另一方面,如果您只是想查找指向恰好名为的 任何 文件的链接,则类似 要么

  • 问题内容: 这不是关于在Eclipse Java项目中链接源的问题 是否可以在eclipse中添加名为“ src”的外部文件夹作为源文件夹。这里的问题是将外部文件夹名称保留为“ src”,而不是其他任何名称。为此,我尝试从标准Eclipse Java项目中删除src和bin文件夹,然后尝试“链接源”,但这不起作用。 我还有其他方法可以实现这一目标吗? 那就是使Eclipse Java项目的src实

  • 又一个Docker符号链接问题。我有一堆文件,我想复制到我所有的Docker构建。我的dir结构是: 有没有办法让Docker遵循符号链接并将common_files/file.txt复制到构建的容器中?

  • 问题内容: 我有一个用例,其中我从某个模型中获得了符号化的深层关联,并且我必须执行某些涉及使用外部联接的查询。没有手工编写完整的SQL怎么办? 我不想要的答案:-使用include(无法很好地解决深层关联(.includes(:cars => [:windows,:engine => [:ignition] .....出乎意料的工作))而我却没有不想产生副作用)-自己编写SQL(对不起,这是201

  • 我正试图将外部网站查看到web浏览器组件中。它在模拟器中工作,但当我构建到Android时,它似乎缺乏互联网许可。有谁能帮我做错的地方吗?