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

反应Js需要“fs”

南宫博简
2023-03-14

我有过

import fs from 'fs'

在我package.json

然后我运行命令

js lang-js prettyprint-override">>  npm i fs
>  fs@0.0.2 node_modules/fs

接下来,在我的React store中导入“fs”模块

import fs from 'fs'

但是当我尝试使用fs时

除了构造函数和其他一些方法之外,我没有看到其他方法。我没有看到createReadStream方法或任何其他文件操作方法。

有人知道怎么了吗?(使用网页)并可根据要求提供更多信息,但我已经走到了这一步。。。

ps:为什么我可以npm I fs——当我在其他帖子上读到我不必这么做时保存(使用node 5.5.0)

import Reflux from 'reflux'
import AddItemActions from '../actions/AddItemActions'
import request from  'superagent-bluebird-promise'
import fs from 'fs'

var ImageStore = Reflux.createStore({
  init(){
    .
    .
    .
  },

  decryptImage(file) {
    var reader = new FileReader();
    var info = {}
    reader.onload = (output) => {
      debugger
      request.post("https://camfind.p.mashape.com/image_requests")
        .set("X-Mashape-Key", "KEY")
        .set("Content-Type", "application/x-www-form-urlencoded")
        .set("Accept", "application/json")
        .send({'focus': { 'x': 480}})
        .send({'focus': { 'y': 640}})
        .send({'image_request': {'altitude': 27.912109375}})
        .send({'image_request': {'language': "en"}})
        .send({'image_request': {'latitude': 35.8714220766008}})
        .send({'image_request': {'locale' : "en_US"}})
        .send({'image_request': {'longitude': 14.3583203002251}})
        .send({'image_request': {'image': fs.createReadStream("/path" + 'file.jpg')}})
        .then(function (result) {
          console.log(result.status, result.headers, result.body);
          this.info = result
        },
          function(error) {
            console.log(error);
        })
    }

    reader.readAsDataURL(file);
    return info
  },
  .
  .
  .
  .
})

共有1个答案

汝弘深
2023-03-14

这可能是环境问题。浏览器无法解释和运行某些节点服务器端模块,如fs

解决方案是在节点环境(服务器端)中运行fs方法,或者查找提供相同功能但为浏览器编写的包。

这个问题已经讨论过了...找不到模块:错误:无法解析模块'fs'

这个问题。。。在React中使用fs模块。js,node。js、网页包、巴贝尔、快递

 类似资料:
  • 12.1. 为何需要反射? 有时候我们需要编写一个函数能够处理一类并不满足普通公共接口的类型的值,也可能是因为它们并没有确定的表示方式,或者是在我们设计该函数的时候这些类型可能还不存在。 一个大家熟悉的例子是fmt.Fprintf函数提供的字符串格式化处理逻辑,它可以用来对任意类型的值格式化并打印,甚至支持用户自定义的类型。让我们也来尝试实现一个类似功能的函数。为了简单起见,我们的函数只接收一个参

  • 本文向大家介绍为什么需要Babel JS?,包括了为什么需要Babel JS?的使用技巧和注意事项,需要的朋友参考一下 Babel是一个工具链,主要用于在当前和较旧的浏览器或环境中将ECMAScript 2015+代码转换为JavaScript的向后兼容版本。Babel的插件允许您立即使用新语法,而无需等待浏览器支持。 使用babel JS的主要原因是- 语法转换(最新的JS语法为向后兼容的语法。

  • 问题内容: 因此,当您声明一个组件以小写首字母作为反应时,该组件不会显示,并且不会引发错误。当您将组件名称大写时,它确实起作用。 这样实现的是什么?为了避免与现有的html元素冲突,还是这是一个错误? 当我更改为时,它可以工作: 问题答案: 从一些反应发行说明 JSX标记名称约定(小写字母名称是指内置组件,大写字母名称是指自定义组件)。

  • 我的导航不工作,因为某些原因,我有另一个应用程序运行良好,但这一个不能找到错误,请帮助 反应路由器不工作。反应JS 我需要你的帮助。 使用react-router,我可以使用Link元素创建由react router本地处理的链接。

  • 因此,当您用小写第一个字母声明一个组件处于响应状态时,它不会显示,否则会引发错误。当您将组件名称大写时,它确实有效。 它是如何实现的?避免与现有html元素冲突,还是这是一个bug? 当我将更改为时,它可以工作:

  • 问题内容: 这是一个“到底发生了什么”的问题。我实际上不需要解决方案。 我必须用双反斜杠替换字符串中的所有单反斜杠。这就是我最终要做的… …其中strRootDirectory是上面的java.lang.String。 现在,我了解了第一个参数的四个反斜杠:regex期望两个反斜杠以表示单个文字反斜杠,而Java希望它们加倍。没关系。 但是,第二个参数的八个反斜杠到底是怎么回事?替换字符串不是应该