2016-07-27 1 views
1

Я работаю над электронным приложением с gundb. Получив все остальное, я сделал npm install --save gun. Он завершил с этим предупреждают:Webpack, gun, не может разрешать файлы и т. Д., Gun require не может решить модуль 'fs'

npm WARN optional Skipping failed optional dependency /chokidar/fsevents: 
npm WARN notsup Not compatible with your operating system or architecture: [email protected] 

Когда я пытаюсь:

require('gun'); 
var endpoints; 
var gun = Gun(endpoints); 

Я получаю очень длинный список ошибок, я не могу сделать, так как из. Они начинаются с:

.../node_modules/fs doesn't exist 
.../node_modules/fs.webpack.js doesn't exist 
.../node_modules/fs.web.js doesn't exist 
.../node_modules/fs.js doesn't exist 
.../node_modules/fs.json doesn't exist 

И следующее не может решить:

@ ./~/gun/lib/file.js 14:10-23 
@ ./~/gun/lib/wsp.js 61:39-52 
@ ./~/ws/lib/WebSocketServer.js 15:10-2 
@ ./~/options/lib/options.js 6:9-2 
@ ./~/aws-sdk/lib/api_loader.js 1:9-22 
@ ./~/aws-sdk/lib/services.js 1:9-22 

Я на Linux. Является ли fsevent зависимостью пушки npm?

UPDATE
Чтобы удалить как много других переменных, как это возможно, я уменьшил свой файл package.json вниз только электрон .... устраняя возможные проблемы с WebPack и других зависимостей. Я также удалил мои node_modules и сделал свежий npm install & npm install gun.

Это показало более полезное сообщение об ошибке:

Uncaught ReferenceError: Gun is not defined    gun.js:1470 

который указал на:

if(typeof window !== "undefined"){ Gun.request = request } 
if(typeof module !== "undefined" && module.exports){ module.exports.request = request } 
+0

Это fsevent предупреждение довольно обычный. Они не связаны друг с другом. –

+0

Этот вопрос может быть полезен и для других ошибок Webpack/GUN (для тех, кто нажал на этот вопрос у Google, но это был не правильный вопрос): http://stackoverflow.com/questions/39001582/running-gunjs-with -reactjs-and-webpack-throws-reference-error-in-console/39003291 # 39003291 – marknadal

ответ

3

Это был пистолет ошибка и команда пистолет поправил его сегодня утром. После того, как ошибка была исправлена, и я обновил пистолет в моем проекте, я по-прежнему остаюсь проблемы пакетирования с WebPack:

WARNING in ./~/ws/lib/BufferUtil.js 
Module not found: Error: Cannot resolve module 'bufferutil' in /node_modules/ws/lib 
@ ./~/ws/lib/BufferUtil.js 10:19-40 

WARNING in ./~/ws/lib/Validation.js 
Module not found: Error: Cannot resolve module 'utf-8-validate' in /node_modules/ws/lib 
@ ./~/ws/lib/Validation.js 10:19-44 

WARNING in ./~/formidable/lib/incoming_form.js 
Critical dependencies: 
1:43-50 require function is used in a way in which dependencies cannot be statically extracted 
@ ./~/formidable/lib/incoming_form.js 1:43-50 

WARNING in ./~/formidable/lib/file.js 
Critical dependencies: 
1:43-50 require function is used in a way in which dependencies cannot be statically extracted 
@ ./~/formidable/lib/file.js 1:43-50 

WARNING in ./~/formidable/lib/json_parser.js 
Critical dependencies: 
1:43-50 require function is used in a way in which dependencies cannot be statically extracted 
@ ./~/formidable/lib/json_parser.js 1:43-50 

WARNING in ./~/formidable/lib/querystring_parser.js 
Critical dependencies: 
1:43-50 require function is used in a way in which dependencies cannot be statically extracted 
@ ./~/formidable/lib/querystring_parser.js 1:43-50 

WARNING in ./~/aws-sdk/lib/util.js 
Critical dependencies: 
40:30-45 the request of a dependency is an expression 
43:11-53 the request of a dependency is an expression 
@ ./~/aws-sdk/lib/util.js 40:30-45 43:11-53 

WARNING in ./~/aws-sdk/lib/api_loader.js 
Critical dependencies: 
13:15-59 the request of a dependency is an expression 
104:12-46 the request of a dependency is an expression 
108:21-58 the request of a dependency is an expression 
114:18-52 the request of a dependency is an expression 
@ ./~/aws-sdk/lib/api_loader.js 13:15-59 104:12-46 108:21-58 114:18-52 

я должен был добавить следующее моего webpack.config.js использовать пистолет с WebPack:

var webpack = require('webpack'); 
module.exports = { 
    devtool: "source-map", 
    target: "node", 

.... 

    module: { 
    noParse: [/aws-sdk/], 

.... 

plugins: [ 
    new webpack.DefinePlugin({ "global.GENTLY": false }) 
] 
.... 

в этот момент все работает, хотя я до сих пор имел следующие ошибки в Баш:

WARNING in ./~/ws/lib/BufferUtil.js 
Module not found: Error: Cannot resolve module 'bufferutil' in /node_modules/ws/lib 
@ ./~/ws/lib/BufferUtil.js 10:19-40 

WARNING in ./~/ws/lib/Validation.js 
Module not found: Error: Cannot resolve module 'utf-8-validate' in /node_modules/ws/lib 
@ ./~/ws/lib/Validation.js 10:19-44 
+0

Удивительный! Рад услышать наше исправление, которое мы толкнули, решило главную проблему. Надеемся, что в конечном итоге мы также можем получить эти последние несколько раздражающих сообщений WARNING/ERROR, чтобы уйти. Спасибо, что ответили на это, это очень ценится! – marknadal

+0

Поскольку это известная проблема, с которой работают @marknadal и друзья, я пошел дальше и использовал 'stats: {warnings: false}' как мое грязное решение для снижения шума. – aleksblago

+0

@aleksblago oh, что это помогло/исправить проблему? Я собираюсь добавить еще один ответ о требовании («gun/gun»); – marknadal

1

сейчас, в браузере должен:

var Gun = require('gun/gun'); 

Чтобы устранить проблему. Или используйте тег скрипта, который экспортирует Gun глобально.

В будущем, мы будем стараться и у вас требуют («пистолет») автоопределения среды и автоматически не включают NodeJS только код (например, fs, WebSockets, HTTP и т.д.)

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