2016-04-13 31 views
0

Yükleme hizmetini bir tepki.js projesine nasıl aktarabilirim?Yükleme hizmetini bir tepki.js projesine nasıl aktarabilirim?

Benim ithalatı bölümde bu

// main imports 
    import React from 'react'; 
    import {render} from 'react-dom'; 
    import { Router, Route, hashHistory } from 'react-router' 
    import jQuery from '../scripts/jquery-1.8.3.min.js' 
    import uploadcare from '../lib/uploadcare.min.js' 

benziyor Sonra (javascript API üzerinden) böyle uploadcare kullanmak istiyorum:

onAddPhotosClick: function() { 
    console.log("++ add photos"); 
    uploadcare.openDialog(null, { 
     publicKey: "xxxxxxxxxxxx", 
     imagesOnly: true, 
     tabs: "file url facebook gdrive dropbox instagram evernote flickr skydrive" 
    }); 
}, 

Kodum OpenDialog hattını ulaşır ve ardından benim konsol günlükleri, sayfa yükleme sırasında

:8081/static/react_build/bundle.js:86 Uncaught TypeError: _uploadcareMin2.default.openDialog is not a function 

Daha önce,: bu hatayı atar

Global public key not set. Uploads may not work! 
Add this to the <head> tag to set your key: 

<script> 
UPLOADCARE_PUBLIC_KEY = 'your_public_key'; 
</script> 
:8081/static/react_build/bundle.js:85 ++ add photos 

I (ben javascript API üzerinden doğrudan genel anahtarı ayarlamak umuyorum çünkü ok olduğum) Yukarıdaki bu kahverengi uyarı mesajı alır gerçeği beni uploadcare.js dosya olmuştur düşündürüyor düzgün bir şekilde dahil edildi, ancak uploadCareMin2 hatası beni doğru şekilde içe aktarmadığımı düşünmemi sağlıyor.

TL; Yükleme bakımı Javascript API'sını bir react.js projesine nasıl alabilirim?

Yardımlarınız için teşekkür ederiz. ancak doğrudan yazar Eğer gösterdi şekilde ithal etmek amacıyla export default dosyayı farklı umut olurdu anlam dosyasını içe gibi görünüyor

import '../lib/uploadcare.min.js' 

deneyin ne uploadcare emin değil

+0

ekledik Ne unutmayın, bu da mümkün değilse

onlar adlandırılmış değer öylesine denemek ihraç CommonJS uyumluluğu sadece [2.8.0 sürümü] 'de (https://github.com/uploadcare/uploadcare-widget/blob/master/HISTORY.markdown#280-14032016). React'ın nasıl çalıştığından emin değilim, ancak eğer varsa, 'module.exports' dosyasını doldururuz (window.uploadcare' değil). – homm

cevap

1

. Muhtemelen küresel uzaya yapışırlar.

import { uploadcare } from '../lib/uploadcare.min.js'; 
+0

omg teşekkür ederim, ilk önemli açıklama işe yaradı! – maxfowler

0

Şimdi de npm uploadcare's website üzerinde belgelenmiş yükleme kullanabilirsiniz olarak:

NPM 
npm install uploadcare-widget 

ES6 usage way: 
import uploadcare from 'uploadcare-widget'; 

CommonJS usage way: 
var uploadcare = require('uploadcare-widget); 
İlgili konular