找不到模块:错误:无法解析模块“ fs”

我正在使用Babel和Webpack开发一个React应用,我想使用file-

existsnpm中的软件包。我已经安装了该软件包并将其保存为项目的依赖项。运行npm start后,出现此错误:

./~/file-exists/index.js中的错误找不到

模块:错误:无法在C:\ GitHub \ CryptoPrices \ node_modules \ file-exists

@ ./~/file-exists/index.js中解析模块’fs’ 3:9-22

file-exists使用fs的依赖,但由于某种原因,它不工作。如果我不需要Npm,Npm可以正常启动和运行file-exists

这是我的webpack配置文件:

module.exports = {

entry: [

'./src/index.js'

],

output: {

path: __dirname,

publicPath: '/',

filename: 'bundle.js'

},

module: {

loaders: [{

// exclude: /node_modules/,

loader: 'babel',

query: {

presets: ['react', 'es2015', 'stage-1']

}

}]

},

resolve: {

extensions: ['', '.js', '.jsx']

},

devServer: {

historyApiFallback: true,

contentBase: './'

}

};

我是Webpack和Babel的新手,所以我有点迷路。

回答:

看来您正在文件中调用该fsfile-

exists方法index.js。我不确定在什么上下文中调用该方法,但这看起来像是对服务器端方法的客户端调用。我最近遇到了类似的问题。

据我了解,主要问题似乎是您无法在浏览器解释的客户端(前端)代码中调用服务器端(节点)方法。您必须从服务器调用它们。

Webpack可以将fs模块代码加载到您的前端,但是浏览器实际上无法解释这些Node方法并运行它们;只有Node环境可以做到这一点。(更多)

您可以通过修改对fs方法的调用来解决核心问题,使其发生在服务器端,或者找到等效的浏览器支持的程序包,该程序包提供与所需fs方法相同的功能,但可以在浏览器中运行。

快速搜索“用于浏览器的fs模块”会弹出各种可能满足您需要的选项,例如fs-web,browserify-fs或filer。

以上是 找不到模块:错误:无法解析模块“ fs” 的全部内容, 来源链接: utcz.com/qa/419907.html

回到顶部