在Vue3 + webpack + typescript的前端项目中,遇到了Module not found: Error: Can’t resolve ‘fs’ in 的问题。

起因

我在typecript文件中使用fs模块,导致程序报错,找不到fs模块。看了一下node_modules中也有@node/type包。

解决方案

1.在vue.config.js中添加配置


如图,添加

configureWebpack: {
        resolve: { fallback: { fs: false } }
    },

2.在ts.config.json中添加node类型

最终方法

其实上面的方法都是治标不治本,只掩盖了报错的现象而已。其实最终的原因还是:webpack或者一些打包工具不支持fs这种服务端的模块,所以要替换模块来实现fs的功能。

我是在用fs读取本地的svg文件,然后加载到项目中的功能上,出现的这个错误。后来我换成了require.context实现了这个功能,错误也就消失了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐