web-dev-qa-db-ja.com

React Js require 'fs'

私が持っています

import fs from 'fs'

そして私のpackage.jsonに私は持っています

次に、コマンドを実行します

>  npm i fs
>  [email protected] node_modules/fs

次のReactストアで 'fs'モジュールをインポートします

import fs from 'fs'

ただし、fsを使用しようとすると

コンストラクタと他のいくつかの__methods以外のメソッドは表示されません。 createReadStreamメソッドやその他のファイル操作メソッドが表示されません。

誰かが間違っていることを知っていますか? (Webpackを使用)、リクエストに応じて詳細情報を提供できますが、これはここまでです...

ps:私がnpm i fs --saveを実行できるのはなぜですか(ノード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
  },
  .
  .
  .
  .
})
9
joe

create-react-app彼らは 'fs'を削除しました。インポートできません。 fsはノードコアモジュールであるため、これを行いました。
その問題の別の解決策を見つける必要があります。 このチケットを参照してください。

6
kalm42

これは環境の問題である可能性があります。ブラウザがfsのようないくつかのNodeサーバー側モジュールを解釈して実行することはできません。

解決策は、Node環境(サーバー側))でfsメソッドを実行するか、同じ機能を提供するがブラウザー用に作成されたパッケージを見つけることです。

これはこの質問で議論されています... モジュールが見つかりません:エラー:モジュール 'fs'を解決できません

そしてこの質問... React.js、node.js、webpack、babel、expressでfsモジュールを使用

2
Jess B