javascript 无法解决错误仅出现在我的webpack-build中

k5ifujac  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(125)

我正在尝试用typescript将一个模块_module_name_导入到我当前的react-project中,例如react-app,以供参考。该项目与webpack捆绑在一起。我正在将其导入到我的 .tsx 组件之一。我正在导入的模块是我自己编写的,我在npm上发布了它。在构建react项目时,我收到了cannot resolve错误。很明显,它无法解析fs模块。我想知道是什么导致了这个问题?下面是错误输出:

ERROR in ./node_modules/_module_name_/index.js 2:11-24
Module not found: Error: Can't resolve 'fs' in 
'/path/to/project/node_modules/_module_name_'
resolve 'fs' in '/path/to/project/node_modules/_module_name_'
   Parsed request is a module
   using description file: /path/to/project/node_modules/_module_name_/package.json (relative path: .)
      Field 'browser' doesn't contain a valid alias configuration
      resolve as module

_module_name_非常简单,实际上它看起来像这样:

// index.js
const path = require('path')
const fs = require('fs');

function foo() {
    const abi = JSON.parse(fs.readFileSync('file.json', 'utf8'));
    return abi
}

module.exports = {
    foo
};

然后我有一个typescript声明文件:

// index.d.ts
export function foo(): any;

当然我有文件本身:

// file.json
{
    "a": 1
}

并且我在_module_name_中有一个package.json,它至少包含以下条目:

// package.json
{
    "main": "index.js",
    "types": "./index.d.ts",
    "dependencies": {
        "fs": "^0.0.1-security",
        ...
    }
    ...
}

**备注:**当我在我的react项目react-app中时,我在任何旧的javascript文件或typescript文件中导入foo都没有问题。除非它是react应用程序的一部分,否则它将完美地工作。这是多么奇怪啊。也许这与我的webpack加载程序有关,因为我正在使用webpack来捆绑应用程序。
**问题:**问题出在_module_name_一侧还是react-app一侧?

cx6n0qe3

cx6n0qe31#

我只是快速浏览了一下,但基本上你是在尝试在浏览器中使用nodeJS.这不是一个好主意.看看这里:Can't resolve 'fs' using webpack and react需要文件,然后解析应正常工作

相关问题