在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实现了这个功能,错误也就消失了。
文章讲述了在Vue3项目中遇到的fs模块未找到问题,通过在vue.config.js和ts.config.json中添加配置以及更换require.context替代fs模块解决了这个问题。实际上是由于webpack不支持服务器端模块,导致的错误。
3590

被折叠的 条评论
为什么被折叠?



