代码之家  ›  专栏  ›  技术社区  ›  Harsh Patel Sam

反应:“未找到模块:无法解决”路径错误

  •  -1
  • Harsh Patel Sam  · 技术社区  · 5 年前

    我的电脑里有这个密码 src/组件 :

    import PropTypes from 'prop-types';
    import React from 'react';
    import Typography from 'Typography'; 
    

    我有一个文件名为“排版”。js在 同一目录 .

    我有两个Ubuntu系统。在一个系统中,该代码工作正常,而在另一个系统中,它在第3行给出了此错误:

    未找到模块:无法解析“排版”

    如果我使用 import Typography from './Typography'; 那么它不会给我错误,但是为什么相同的代码在一个系统上工作,而在另一个系统上不工作呢?

    我应该用 从“”导入排版/印刷术; 处处

    这是我的 网页包配置

    resolve: {
        modules: ['node_modules', paths.appNodeModules].concat(
          process.env.NODE_PATH.split(path.delimiter).filter(Boolean)
        ),
        extensions: ['.web.js', '.mjs', '.js', '.json', '.web.jsx', '.jsx'],
        alias: {
          'babel-runtime': path.dirname(
            require.resolve('babel-runtime/package.json')
          ),
          'react-native': 'react-native-web',
        },
        plugins: [
          new ModuleScopePlugin(paths.appSrc, [paths.appPackageJson]),
        ],
      }
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   Trung Kien Vo    4 年前

    我在尝试使用前端模板时也遇到了同样的问题,因为他们总是使用前端模板

    import Typography from 'Typography';
    

    而不是相对路径:

    import Typography from './Typography'
    

    这个模板实际上在一台笔记本电脑上工作,而不是在另一台笔记本电脑上。

    这似乎与环境变量有关 NODE_PATH ,有些笔记本电脑之间有什么不同,我不知道为什么。

    所以,我的快速修复方法是创建一个名为 .env 在与相同的文件夹中 package.json ,用这一行 NODE_PATH=./src ,这将有助于设置 节点路径 ./src 价值

    希望你还需要答案!

        2
  •  0
  •   Hemadri Dasari    5 年前

    因为文件在同一个目录中

    如果不是默认的导出,你应该像

      import { Typography} from './Typography'; 
    

    如果是默认的导出,您应该像

     import Typography from './Typography'; 
    
        3
  •  0
  •   Super Jade    5 年前

    Module not found: Can't resolve <module name> in <file path>


    我跑了

    npm install
    npm build
    npm start
    

    现在,该模块已安装在 dependencies 在里面 package.json ,我的网络应用在 http://localhost:3000/ ,中指定的端口 launch.json .

        4
  •  0
  •   blaz    5 年前

    https://webpack.js.org/configuration/resolve/#resolvemodules

    决定模块[string]:['node_modules']

    告诉webpack在解析时应该搜索哪些目录 模块。

    绝对路径和相对路径都可以使用,但请注意它们 会表现得有点不同。

    相对路径的扫描方式与节点扫描路径的方式类似 节点_模块,通过查看当前目录及其

    对于绝对路径,它将只在给定目录中搜索。

    网页包 resolve.modules 是一个数组,包含webpack用于解析代码中目录的路径。因此,如果你使用:

    import Typography from 'Typography'; 
    

    阵列在 决定模块 应该包含 src/components 或任何等效的文件,以便webpack知道在哪里查找文件夹排版。您可以尝试查看该配置部分,看看是否存在相同的路径。

        5
  •  0
  •   Fizy Alasdair    2 年前

    对我来说,react是使用相对路径导入的。

    对于我的项目,我将src文件夹设置为go-to文件夹。

    创建一个jsconfig。在根目录(package.json所在的位置)中创建json文件,并添加以下内容:

    {
      "compilerOptions": {
        "baseUrl": "src"
      }
    }
    

    还要创建一个。环境或。环境。如果不存在,则在项目的根目录(package.json所在的位置)中创建模板文件,并添加

    NODE_PATH=src
    // and if this does not work try
    NODE_PATH=./src
    

    这应该允许react进行编译。