现在有一个需求是需要动态的创建vue文件,并写入内容放到指定目录下,动态创建文件打算使用node的fs模块,但是使用fs模块的writeFile会报 is not a function 是为什么呢
现在有一个需求是需要动态的创建vue文件,并写入内容放到指定目录下,动态创建文件打算使用node的fs模块,但是使用fs模块的writeFile会报 is not a function 是为什么呢
没有具体的代码和文件结构不好判断。
从描述上来看,vue项目是放在浏览器环境运行的,而fs模块是node环境才能使用的。
那么我推测你大概是在浏览器环境下运行的fs吧?如果是这样,你需要通过node来运行fs才可行
大佬们都说了,fs必须在node 环境中使用,给你个思路
1.node起一个本地服务,在node项目中写fs相关的代码
2.起一个接口服务器,koa或者express的,用这个接口返回 步骤一处理的结果
3.页面调接口服务器的接口
4.实际项目上线和后端说一下,让他在云服务器开一下node服务,
以上
讲道理,这里你知道 fs
是 node
负责的,但是基于 vue-cli
或者 vite
的开发环境你应该是不方便拓展一个接口来配合你前端做文件生成处理的。再者,我想弱弱的科普下,你所说的虚拟的 vueSFC 文件,本质上就是个字符串。下面我来说下我实现你描述需求的思路:
另起一个node服务,选一个你喜欢的web框架,实现一个接口
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
浏览器环境下是没有Node环境的,自然不能使用
NodeJS
中的FS
模块。另外浏览器环境下的项目是没有权限写本地磁盘的。
如果需要读写本地磁盘需要考虑启动一个本地服务通过一些方式去通讯,或者使用 ElectronJS 来实现。