Request: рд╡реЗрдмрдкреИрдХ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЕрдкреНрд░реИрд▓ 2015  ┬╖  41рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: request/request

рдореИрдВ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ request рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ:

screen shot 2015-04-06 at 13 04 59

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдЙрддреНрд╕реБрдХ рдерд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд░рд╛рдЗрдЬрд╝ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╡реЗрдмрдкреИрдХ рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣рд╛рдБ рд╡рд╣реА рдореБрджреНрджрд╛ред

рд╕рдорд╛рдзрд╛рди: json-loader рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡реЗрдмрдкреИрдХ *.json рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХреЗред рдлрд┐рд░ рдЙрд╕ рд▓реЛрдбрд░ рдФрд░ рдПрдХ рдирдпрд╛ node рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдкрдиреЗ webpack.config.js рддрд░рд╣ рдЬреЛрдбрд╝реЗрдВ:

$ npm install --save-dev json-loader

webpack.config.js

var path = require('path');

module.exports = {
  entry: 'index',
  output: {
    path: path.join(__dirname, 'scripts'),
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      { test: /\.json$/, loader: 'json-loader' }
    ]
  },
  resolve: {
    extensions: ['', '.webpack.js', '.web.js', '.js']
  },
  node: {
    console: 'empty',
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }
};

рд╕рднреА 41 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

+1, рдЗрд╕реЗ рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ

рдЖрдЙрдЯрдкреБрдЯ:

ERROR in ./~/request/lib/har.js
Module not found: Error: Cannot resolve module 'fs' in /absolute/path/to/project/node_modules/request/lib
 @ ./~/request/lib/har.js 3:9-22

ERROR in ./~/request/~/tunnel-agent/index.js
Module not found: Error: Cannot resolve module 'net' in /absolute/path/to/project/node_modules/request/node_modules/tunnel-agent
 @ ./~/request/~/tunnel-agent/index.js 3:10-24

ERROR in ./~/request/~/tunnel-agent/index.js
Module not found: Error: Cannot resolve module 'tls' in /absolute/path/to/project/node_modules/request/node_modules/tunnel-agent
 @ ./~/request/~/tunnel-agent/index.js 4:10-24

ERROR in ./~/request/~/forever-agent/index.js
Module not found: Error: Cannot resolve module 'net' in /absolute/path/to/project/node_modules/request/node_modules/forever-agent
 @ ./~/request/~/forever-agent/index.js 6:10-24

ERROR in ./~/request/~/forever-agent/index.js
Module not found: Error: Cannot resolve module 'tls' in /absolute/path/to/project/node_modules/request/node_modules/forever-agent
 @ ./~/request/~/forever-agent/index.js 7:10-24

ERROR in ./~/request/~/tough-cookie/lib/cookie.js
Module not found: Error: Cannot resolve module 'net' in /absolute/path/to/project/node_modules/request/node_modules/tough-cookie/lib
 @ ./~/request/~/tough-cookie/lib/cookie.js 23:10-24

ERROR in ./~/request/~/form-data/lib/form_data.js
Module not found: Error: Cannot resolve module 'fs' in /absolute/path/to/project/node_modules/request/node_modules/form-data/lib
 @ ./~/request/~/form-data/lib/form_data.js 7:9-22

ERROR in ./~/request/~/har-validator/~/is-my-json-valid/~/jsonpointer/jsonpointer.js
Module not found: Error: Cannot resolve module 'console' in /absolute/path/to/project/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer
 @ ./~/request/~/har-validator/~/is-my-json-valid/~/jsonpointer/jsonpointer.js 1:14-32

рдореИрдВ рдпрд╣ рд╕рдордЭ рдЧрдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрдмрдкреИрдХ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рдмреЗрдпрд░рдмреЛрди рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред рдореЗрд░реА рдЙрджрд╛рд╣рд░рдг рд╢рд╛рдЦрд╛ рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░ рдХрд░реЗрдВ рдХрд┐ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдорд┐рд▓рд╛ред

https://github.com/request/request/compare/master...pho3nixf1re :webpack-tests

рдореЗрд░реА рдпреЛрдЬрдирд╛ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд░реНрдо рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдмрджрд▓рдиреЗ рдФрд░ рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░рдиреЗ рдХреА рд╣реИ рддрд╛рдХрд┐ рдЕрдиреНрдп рдЗрд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред рд╕рд╛рде рд╣реА, рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдХрд╛рд╕ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред

рд╣рд╛рдБ, рд╡рд╣реА рдорд┐рд▓рд╛, рдзрдиреНрдпрд╡рд╛рджред рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛рддрд╛ рд╣реИ, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡реЗрдмрдкреИрдХ рдбреЙрдХреНрд╕ рдпрд╣рд╛рдВ рд╣реИрдВ: http://webpack.github.io/docs/configuration.html#node

@jaredmcdonald рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж :)

@ pho3nixf1re рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдирд╣реАрдВ): +1:

рд╣рд╛рдВ! рдореИрдВ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реБрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рддреНрд╡рд░рд┐рдд рдкреНрд░рдорд╛рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрд╕ рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рдКрдВрдЧрд╛ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЬреЗрд╕рди рд╡реЗрдмрдкреИрдХ рд▓реЛрдбрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдирд╣реАрдВ рд╣реБрдЖред

рдпрд╣рд╛рдБ рд╡рд╣реА рдореБрджреНрджрд╛ред

рд╕рдорд╛рдзрд╛рди: json-loader рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡реЗрдмрдкреИрдХ *.json рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХреЗред рдлрд┐рд░ рдЙрд╕ рд▓реЛрдбрд░ рдФрд░ рдПрдХ рдирдпрд╛ node рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдкрдиреЗ webpack.config.js рддрд░рд╣ рдЬреЛрдбрд╝реЗрдВ:

$ npm install --save-dev json-loader

webpack.config.js

var path = require('path');

module.exports = {
  entry: 'index',
  output: {
    path: path.join(__dirname, 'scripts'),
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      { test: /\.json$/, loader: 'json-loader' }
    ]
  },
  resolve: {
    extensions: ['', '.webpack.js', '.web.js', '.js']
  },
  node: {
    console: 'empty',
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }
};

node: { ... } рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ console рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

рдореИрдВ рдЗрд╕реЗ рд╕рдордЭ рдЧрдпрд╛:

node: {
    console: true
}

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реА рдорджрдж рдереАред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдореЗрдВ рдЦреБрдж рдЯрдХрд░рд╛ рдЧрдпрд╛ред

рдХреЛрдЗ рднрд╛рдЧреНрдп?

рдореИрдВ рд╡реЗрдмрдкреИрдХ рдФрд░ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрдк рд╕рднреА рдХреЛ рдпрд╣рд╛рдВ рдорд┐рд▓реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИред
рдЬреЗрд╕рди-рд▓реЛрдбрд░ рдФрд░ рдиреЛрдб рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд░рд╣реА рд╣реИрдВ ...

рдирдорд╕реНрддреЗред рдореБрдЭреЗ рдорджрдж рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдРрдк рдореЗрдВ рдиреЛрдб рдЬреЗрдПрд╕ MySQL рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╡реЗрдмрдкреИрдХ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореЙрдбреНрдпреВрд▓ 'рдиреЗрдЯ' рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рджреЗрдЦреЗрдВ:

import React from 'react'
import ReactDOM from 'react-dom'
import mysql from 'mysql'

export default class Server extends React.Component{
render(){
return(
<div>
<div>Success Inserting New Data</div>
<div>Company Name: {this.props.name}</div>
<div>Email: {this.props.email}</div>
</div>
);
}
}

var company_data = {
name: 'Company Name Sample',
email: '[email protected]'
};

let connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'earnmoredoless'
});

connection.connect();

let sql = connection.query('insert into account set ?', data, function(err, res){

`//success`
`if(!err){`

    `ReactDOM.render(`
        `<Server data={company_data} />,`
        `document.querySelector('#app')`
    `);`

`}else{`

    `console.log('Failed inserting new data.');`
`}`

});

+1
рдЗрд╕рдиреЗ рдореБрдЭреЗ рдмрдЪрд╛ рд▓рд┐рдпрд╛

+1
рдмрдЪрд╛рдпрд╛!

+1 рдореБрдЭреЗ рд╕реНрд╡рдпрдВ dotenv рд╕рдорд╕реНрдпрд╛ рдереАред рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рджреАред рдзрдиреНрдпрд╡рд╛рдж!

рдиреЛрдб рдЬреЛрдбрд╝рдиреЗ рд╕реЗ { fs: 'empty' } рд▓рд┐рдП cannot resolve module 'fs' рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореЗрд░реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ TypeError: fs.readFileSync is not a function ред рдореИрдВ es6 рдмреЗрдмрд▓ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░ рдХреЗ рд╕рд╛рде dotev рдФрд░ webpack рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВред рд╡реЗрдмрдкреИрдХ рдХреЛ import 'dotenv/config'; рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЬреИрд╕рд╛ рдХрд┐ https://github.com/motdotla/dotenv/issues/114 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ

рдЬрдмрдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдиреЛрдб {} рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ webpack.config.js рдХреЛ рдорджрдж рдХреА, рдЗрд╕рдиреЗ рдореЗрд░реЗ karma.conf.js рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛, рдЬреЛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде:

рд╕рдВрджрд░реНрдн рддреНрд░реБрдЯрд┐: рд╕рдЦреНрдд рдореЛрдб рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрдкрддреНрддрд┐ '_crypto' рдХреЗ рдирд┐рд╣рд┐рдд рдирд┐рд░реНрдорд╛рдг рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ

рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ dotenv рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд┐рдпрд╛?

node-soap рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ, рдЬреЛ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдПрдХреНрдЯ рдРрдк рдореЗрдВ request рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреА рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ;

node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реБрдЖред рдореБрдЭреЗ рдЕрдм рднреА рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИрдВ;
screen shot 2016-08-14 at 5 45 02 pm

рдЕрдиреНрдп рд▓реЛрдЧ рд╕рдорд╛рди рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ;
https://gitter.im/vpulim/node-soap/archives/2016/04/13
https://gitter.im/vpulim/node-soap/archives/2016/01/11

рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЕрднреА рддрдХ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╡реЗрдмрдкреИрдХ рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрд╕ рдпрд╛рдХ рдХреЛ рджрд╛рдврд╝реА рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдордп рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рдФрд░ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@kevhuang @sailingthoms @MrOutis рдпрд╛ @gaearon рдХреНрдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрд╛ рд╣реИ? рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ node-soap / request рд░рд┐рдПрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? (рдмреЗрджрдЦрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдзрд┐рдорд╛рдирддрдГ create-react-app рдХреЗ рд╕рд╛рде)ред

@screendriver рдЖрдкрдХреЛ _node рдСрдмреНрдЬреЗрдХреНрдЯ_ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдВ рд╕реЗ рдорд┐рд▓реА? рдореИрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред

@richburdon , @lucasbento рдХреНрдпрд╛ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ?

@garethderioth рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИред рдмрдбрд╝рд╛ рд▓рдВрдмрд╛ рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИред

рд╡реИрд╕реЗ: рдЗрд╕ рдмреАрдЪ рдореИрдВ рдЕрдкрдиреЗ AJAX рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП HTML5 fetch API рдФрд░ рдЗрд╕ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@ рдЧреИрд░реЗрдердбреЗрд░рд┐рдпреЛрде
@jaredmcdonald рдиреЗ рдЗрд╕реЗ рдКрдкрд░ https://github.com/request/request/issues/1529#issuecomment -90347445 рдореЗрдВ рдХрд╣рд╛ рд╣реИ

рд╣рд╛рдБ, рд╡рд╣реА рдорд┐рд▓рд╛, рдзрдиреНрдпрд╡рд╛рджред рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛рддрд╛ рд╣реИ, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡реЗрдмрдкреИрдХ рдбреЙрдХреНрд╕ рдпрд╣рд╛рдВ рд╣реИрдВ: http://webpack.github.io/docs/configuration.html#node

рд╡реИрд╕реЗ: рдЗрд╕ рдмреАрдЪ рдореИрдВ рдЕрдкрдиреЗ AJAX рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП HTML5 fetch API рдФрд░ рдЗрд╕ рдкреЙрд▓реАрдлрд╝рд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд░рд┐рдПрдХреНрдЯ рдРрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВ: рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реАрдЖрд░рдП рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ window.fetch рдкреЙрд▓реАрдлрд╝рд┐рд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ рддрд╛рдХрд┐ рдЖрдк request рдмрдЬрд╛рдп рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп @screendriver @josiahsprague :

node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
}

рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛:

target: 'node',

рдЗрд╕рдиреЗ рдореЗрд░реЗ рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ: https://webpack.github.io/docs/configuration.html#target

@gaearon рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдХреНрд░рд┐рдПрдЯ-рд░рд┐рдПрдХреНрд╢рди-рдРрдк рдХреЗ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рдЙрдард╛рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рднрд┐рдЦрд╛рд░реА рд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: /

рдКрдкрд░ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдореЗрд░рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЬреЛ рд╢рд╛рдпрдж рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реИред ЁЯШВ рд╡реИрд╕реЗ рднреА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @pedzed рдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рджреЛрдиреЛрдВ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ target: 'node-webkit рдпрд╛ рдЕрдиреНрдп рд╕рдорд╛рди рд╡рд┐рдХрд▓реНрдк рдХрд╛

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрднреА node-soap рд╕реЗ browser-soap рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдерд╛ рдЬреЛ рдЗрд╕рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА socketio/socket.io-client/issues/933 рдЬреЛ рдЗрд╕реЗ рдЕрдиреБрднрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛

+1
рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдЬреЛ @screendriver рдФрд░ @kilometers рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ (рдзрдиреНрдпрд╡рд╛рдж!)ред

рд╡реЗрдмрдкреИрдХ рдиреЗ рд╢рд┐рдХрд╛рдпрдд рдХреА рдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рдЦрд╛рд▓реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

````
рд╡рд░ рдкрде = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдкрде')
рд╡рд░ рдЕрдиреБрд░реЛрдз = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рдЕрдиреБрд░реЛрдз')
рд╡рд░ рд╡реЗрдмрдкреИрдХ = рдЖрд╡рд╢реНрдпрдХрддрд╛ ('рд╡реЗрдмрдкреИрдХ')

рдореЙрдбреНрдпреВрд▓.рдПрдХреНрд╕рдкреЛрд░реНрдЯ = {
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐: './src/main.js',
рдЖрдЙрдЯрдкреБрдЯ: {
рдкрде: рдкрдеред рд╕рдорд╛рдзрд╛рди (__dirname, './dist'),
рдкрдмреНрд▓рд┐рдХрдкрд╛рде: '/ рдЬрд┐рд▓рд╛/',
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо: 'рдмрд┐рд▓реНрдб.рдЬреЗрдПрд╕'
},
рдорд╛рдкрд╛рдВрдХ: {
рдирд┐рдпрдо: [
{
рдкрд░реАрдХреНрд╖рдг: /.json$/,
рд▓реЛрдбрд░: 'рдЬреЗрд╕рди-рд▓реЛрдбрд░'
}
]
},
рд╕рдВрдХрд▓реНрдк: {
/ рдПрдХреНрд╕рдЯреЗрдВрд╢рди: ['.webpack.js', '.web.js', '.js'] /
}
рдиреЛрдб: {
рдХрдВрд╕реЛрд▓: рд╕рдЪ,
рдПрдлрдПрд╕: 'рдЦрд╛рд▓реА',
рдиреЗрдЯ: 'рдЦрд╛рд▓реА',
рдЯреАрдПрд▓рдПрд╕: 'рдЦрд╛рд▓реА'
}
}
````

рдмрдВрдбрд▓ рдХреЛрдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди:

require

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдЬреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рдореВрд▓ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк .storybook/webpack.config.js рдмрдирд╛рдХрд░ рдЗрд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

// Load the default config generator.
const genDefaultConfig = require('@kadira/storybook/dist/server/config/defaults/webpack.config.js');

module.exports = function (config, env) {
    const newConfig = genDefaultConfig(config, env);

    // Extend to resolve fs issues
    newConfig.node = {
        fs: 'empty'
    };

    return newConfig;
};
  node: {
    console: true,
    fs: 'empty',
    net: 'empty',
    tls: 'empty'
  }

рдЗрд╕ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рддреНрд░реБрдЯрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди

fs.writeFile('/home/react-hello-world/test.txt', 'aaa', function(err) { alert(err); });

fs.writeFile рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреГрдкрдпрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рджреЗрдВред

@рдЪрдВрджреНрд░рд╕реЗрдХрд░рдм 'рдЦрд╛рд▓реА' рдХреЗ рдмрдЬрд╛рдп fs рдХреЛ рд╕рддреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

target: 'node', рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛: рдбрд┐рдкрд╛рд░реНрдЯрдореЗрдВрдЯ_рд╕реНрдЯреЛрд░:

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░реА рдХреНрд▓рд╛рдЗрдВрдЯ/рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд▓рд╛ рд░рд╣рд╛ рдерд╛ред рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: 'рдиреЛрдб', рдЬрдмрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдерд╛ред рдореИрдВрдиреЗ рд▓рдХреНрд╖реНрдп рдЬреЛрдбрд╝рд╛: рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ 'рд╡реЗрдм' рдФрд░ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЕрдиреБрд░реЛрдз рдЕрдм рд░рдЦрд░рдЦрд╛рд╡ рдореЛрдб рдореЗрдВ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдорд░реНрдЬ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрд╛ рдЗрд╕ рдмрдЧ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ #3142 рджреЗрдЦреЗрдВред

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ jQuery рдХреЗ рд╕рд╛рде Nuxt (рдпрд╛ рдиреЛрдб), рд╕рдорд╕реНрдпрд╛ рдерд╛ рдореИрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдЧрдпрд╛ рдерд╛ jQuery рдФрд░ Bootstrap рдФрд░ рдХрд╣рд╛ рдХрд┐ jsdom рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ head рдЕрдиреБрднрд╛рдЧ рдореЗрдВ nuxt.config.js рдореЗрдВ рд╕реАрдзреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╣рд▓ рдХрд┐рдпрд╛, рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ client mode рдХреЛ nuxt config рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

pixarfilmz112 picture pixarfilmz112  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lupo9557 picture lupo9557  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

matrosov-nikita picture matrosov-nikita  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

IgorDePaula picture IgorDePaula  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ