如何解决 nuxt.js 中的“Module not found: Error: Can't resolve 'fs'”?
Posted
技术标签:
【中文标题】如何解决 nuxt.js 中的“Module not found: Error: Can\'t resolve \'fs\'”?【英文标题】:How to resolve the "Module not found: Error: Can't resolve 'fs'" in nuxt.js?如何解决 nuxt.js 中的“Module not found: Error: Can't resolve 'fs'”? 【发布时间】:2019-05-28 20:46:23 【问题描述】:我对节点有点陌生,但是从大量搜索来看,'fs' 似乎在过去破坏了很多东西。我遇到了几个尝试通过 npm 安装的软件包,并且遇到了太多的 Module not found: Error: Can't resolve 'fs'
错误。
我已经运行了 npm install,fs 下载了一个placeholder package,但我真的停了下来,因为一个包(在几个包中)仍然依赖于 fs。
几乎 every solution 我 find 导致在 webpack 设置的节点部分中将 fs
声明为空:
node:
fs: 'empty'
,
不幸的是,我使用的是 Vue.js 和 nuxt,并且没有 webpack 设置文件(据我所知)。我试图将它添加到我的 nuxt_config.js 中,但没有成功。 扩展(配置,ctx) 配置节点 = fs:“空” ;
有没有办法在 nuxt_config 中运行排除?另外,有没有办法运行它,同时仍然保留我的设置以在保存时运行 eslint?
extend(config, ctx)
// Run ESLint on save
if (ctx.isDev && ctx.isClient)
config.module.rules.push(
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
)
谢谢。
【问题讨论】:
【参考方案1】:用法可能因版本而异。
就我而言,我必须用“=”字符来定义 confing.node。
build:
extend (config, isDev, isClient )
config.node =
fs: "empty"
)
【讨论】:
【参考方案2】:以防万一。在我的情况下,这个错误突然出现并且无法说明原因。在尝试了一切(删除和重新安装 npm 包等)之后,我发现 VS CODE 自动引用了我刚刚保存的文件中的一个包,我没有注意到。
就我而言,它添加了
import query from 'express'.
删除该行,一切都恢复正常。
【讨论】:
你刚刚拯救了我的一天......或一周。完全相同的事情发生在我身上,我一直在疯狂地重新安装和删除东西。非常感谢纳丁!【参考方案3】:建议是正确的,根据webpack看到documentation你应该将fs
模块设置为'empty'
。
您是否尝试将其插入到构建块中***配置的 nuxt 配置中?
build:
extend (config, isDev, isClient )
config.node:
fs: 'empty'
// ....
【讨论】:
非常感谢,@adamrights。我以为我已经按照您介绍的方式完成了,但显然,我没有 - 它按照您介绍的方式正常工作。我可以问一个后续问题:有没有办法将您拥有的内容与我的 eslint-on-save 设置if (ctx.isDev...
上面的扩展块内结合起来?
isDev, isClient
是您示例中的 ctx 对象。 try... build: ... // EXTEND extend (config, isClient ) if (isClient) config.module.rules.push( enforce: 'pre', test: /\.js$/ ,加载器:'eslint-loader',排除:/(node_modules)/,,强制:'pre',测试:/\.vue$/,加载器:'eslint-loader',排除:/(node_modules)/ , ) ,
谢谢 - 我能够得到它......意识到我只是使用逗号分隔两个部分,我需要删除它。非常感谢您的帮助!以上是关于如何解决 nuxt.js 中的“Module not found: Error: Can't resolve 'fs'”?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 npm 包中的 JS 文件包含到 Nuxt.js 中的单独页面