2016-12-15 4 views
0

Я прорабатывал это около часа, но не могу понять, что вызывает проблему. Я использую webpack, синхронизацию браузера и реагирую с реакцией-редукцией. Вот ошибка с консоли:_crypto не определен

Uncaught ReferenceError: _crypto is not defined 
    at eval (eval at <anonymous> (bundle.js:881), <anonymous>:5:11) 
    at Object.eval (eval at <anonymous> (bundle.js:881), <anonymous>:20:3) 
    at eval (eval at <anonymous> (bundle.js:881), <anonymous>:21:30) 
    at Object.<anonymous> (bundle.js:881) 
    at __webpack_require__ (bundle.js:20) 
    at Object.eval (eval at <anonymous> (bundle.js:875), <anonymous>:3:11) 
    at eval (eval at <anonymous> (bundle.js:875), <anonymous>:46:30) 
    at Object.<anonymous> (bundle.js:875) 
    at __webpack_require__ (bundle.js:20) 
    at Object.eval (eval at <anonymous> (bundle.js:833), <anonymous>:4:14) 

ответ

1

Я просто столкнулся с этим тоже. Решение для меня было обновить крипто-browserify зависимость:

npm install [email protected] 

EDIT 1: По причинам, я не совсем понять, это только исправил проблему временно. Как только я перезапустил webpack, он снова перестал работать.

EDIT 2: Это происходит только в одном из моих проектов, который является довольно сложным, так что трудно придавить точно, что различия между ними, но как временное решение, можно просто объявить переменную :

window._crypto = null; 

Это некрасиво, но, надеюсь, это будет временным.

+0

Спасибо. Я перешел в крипто-браузер и добавил 'var' в начало третьей строки rng.js. Я открыл вопрос о крипто-браунирующем github об этом, надеюсь, он будет рассмотрен в ближайшее время. –

0

, который является сверхсовременной версией криптографического браузера, rng.js исчез с момента, по крайней мере, 3.9.8, который был выпущен почти год назад, что-то требует устаревшей версии.

0

У меня была такая же проблема, и я нашел причину.

При использовании webpack 1.x одновременно будет установлен [email protected] с [email protected] (возможно, ранее).

Итак, если вы просто require('crypto') напрямую, webpack будет использовать @3.3.0, у которого есть rng.js, а не самая новая версия, которую вы установили сами.

image

Решение, которое я попытался просто npm install node-libs-browser --save и НПМ будет обновлять его в WebPack и @ 3.11.0 будет найден.

 Смежные вопросы

  • Нет связанных вопросов^_^