2016-01-25 15 views
6

hoReagire Js richiedono 'FS'

import fs from 'fs' 

e nel mio package.json ho

Poi ho eseguire il comando

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

prossimo a il mio negozio React importa il modulo 'fs'

import fs from 'fs'

Tuttavia quando provo ad usare fs

non vedo metodi eccezione di costruttore e pochi altri __methods. Non vedo il metodo createReadStream o altri metodi di manipolazione dei file.

Qualcuno sa cosa c'è che non va? (usando Webpack) e posso dare ulteriori informazioni su richiesta, ma sto arrivando così lontano ...

ps: perchè è possibile che npm i fs --save quando leggo su altri post che non ho per farlo (usando nodo 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 
 
    }, 
 
    . 
 
    . 
 
    . 
 
    . 
 
})

+0

Possibile dupe di http://stackoverflow.com/questions/24594796/node-js-npm-install-fs-error. fs fa parte dei moduli core del nodo. –

+0

Cosa ti aspetti che succeda qui? 'fs' è un modulo nodo che funziona con il file system. La maggior parte dei suoi metodi non funzionerà in un browser. –

+0

Oh, capisco .... pensavo di poter includere qualsiasi pacchetto nodo nella mia app di reazione ... quindi c'è un equivalente per Javascript? – joe

risposta

0

E 'possibile che questo potrebbe essere un problema ambiente. Non è possibile per il browser interpretare ed eseguire alcuni moduli sul lato server come fs.

La soluzione consiste nell'eseguire i metodi fs in un ambiente nodo (lato server) o per trovare un pacchetto che offre la stessa funzionalità ma scritto per il browser.

E 'discusso in questa domanda ... Module not found: Error: Cannot resolve module 'fs'

E questa domanda ... Use fs module in React.js,node.js, webpack, babel,express

+0

Ecco una bella discussione sull'integrazione della funzionalità fs lato client. https://stackoverflow.com/questions/46467858/manipulating-the-local-file-system-with-browser-based-javascript-and-node –