当前位置: 首页 > 知识库问答 >
问题:

javascript - vue项目中使用node的fs模块会报 is not a function ?

胥和悌
2023-04-26

现在有一个需求是需要动态的创建vue文件,并写入内容放到指定目录下,动态创建文件打算使用node的fs模块,但是使用fs模块的writeFile会报 is not a function 是为什么呢

共有4个答案

翟京
2023-04-26

讲道理,这里你知道 fsnode 负责的,但是基于 vue-cli 或者 vite 的开发环境你应该是不方便拓展一个接口来配合你前端做文件生成处理的。再者,我想弱弱的科普下,你所说的虚拟的 vueSFC 文件,本质上就是个字符串。下面我来说下我实现你描述需求的思路:

  1. 在vue项目中实现产生vueSFC 文件内容的所有逻辑
  2. 另起一个node服务,选一个你喜欢的web框架,实现一个接口

    1. 接口接受 vueSFC 文件内容,并写入到指定目录
    2. 返回结果
  3. 前端反馈后端处理结果
徐帅
2023-04-26

大佬们都说了,fs必须在node 环境中使用,给你个思路
1.node起一个本地服务,在node项目中写fs相关的代码
2.起一个接口服务器,koa或者express的,用这个接口返回 步骤一处理的结果
3.页面调接口服务器的接口
4.实际项目上线和后端说一下,让他在云服务器开一下node服务,
以上

齐高阳
2023-04-26

没有具体的代码和文件结构不好判断。
从描述上来看,vue项目是放在浏览器环境运行的,而fs模块是node环境才能使用的。

那么我推测你大概是在浏览器环境下运行的fs吧?如果是这样,你需要通过node来运行fs才可行

钦耀
2023-04-26

浏览器环境下是没有Node环境的,自然不能使用 NodeJS 中的 FS 模块。
另外浏览器环境下的项目是没有权限写本地磁盘的。

如果需要读写本地磁盘需要考虑启动一个本地服务通过一些方式去通讯,或者使用 ElectronJS 来实现。

 类似资料:
  • vue2项目 vue版本2.6.14 vue-cli版本4.4.6 webpack版本4.47.0 第三方库中有使用到node模块的地方 类似这种 然后会报未定义类型的错误 通过这种方式解决报错了 但是使用fs模块的时候 这种情况该怎么解决,node-libs-browser并不能模拟fs模块,只能提供个空对象 希望配置fs模块,但是运行报错

  • 问题内容: 我有一种情况,我想从客户端将数据导出到CSV。我将拥有一个文本框/区域,或用户可以在其中输入数据的任何区域,然后理想情况下,只需单击一下,便会使用该数据更新本地CSV文件。 使用NodeJS与服务器交互及其核心模块(特别是模块)可以轻松实现这一点,但是显然浏览器并没有那么多。 我发现某些节点模块(例如)支持RequireJS的使特定模块在浏览器中工作的方法。因此,对于下划线,我这样做:

  • node-fs

  • let res = await $http.get("api.cart") 在$http上报了 $http is undefined的错误不知道怎么回事 看了网上说好多是没有配置jquery?配置了也还是没有搞好

  • 如何在android xamarin项目中使用来自Maven或j-center存储库的预构建模块代码?

  • 前提:一不小心搭建了vue3项目,vue-pdf最新版本为4.2.0,不是针对vue3构建的 问题1:TypeError: h is not a function 原因:h在vue3的render函数中不再以参数形式出现,需要手动导入 解决:将vue-pdf中的render: function (h)替换为render: function (), 然后手动导入import { h } from '