Request: μ›ΉνŒ©

에 λ§Œλ“  2015λ…„ 04μ›” 06일  Β·  41μ½”λ©˜νŠΈ  Β·  좜처: request/request

Webpack을 μ‚¬μš©ν•˜μ—¬ request λ₯Ό λ‘œλ“œν•˜λ €κ³  ν•˜λŠ”λ° λ‹€μŒ 였λ₯˜κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

screen shot 2015-04-06 at 13 04 59

λ‚˜λŠ” 이것이 browserifyλ₯Ό μ‚¬μš©ν•˜μ—¬ λΈŒλΌμš°μ €μ—μ„œ μž‘λ™ν•œλ‹€λŠ” 것을 λ³΄μ•˜κ³  λ‚΄κ°€ 무엇을 잘λͺ»ν•˜κ³  μžˆλŠ”μ§€ κΆκΈˆν–ˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ browserifyλŠ” 이 문제λ₯Ό μΌμœΌν‚€λŠ” webpackκ³Ό λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ 쒅속성을 μ²˜λ¦¬ν•©λ‹ˆλ‹€. μ–΄λ–€ 아이디어?

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ—¬κΈ°μ—μ„œλ„ 같은 λ¬Έμ œμž…λ‹ˆλ‹€.

ν•΄κ²°μ±…: webpack이 *.json νŒŒμΌμ„ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ json-loader μ„€μΉ˜ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ ν•΄λ‹Ή λ‘œλ”μ™€ μƒˆ node 개체λ₯Ό webpack.config.js κ³Ό 같이 μΆ”κ°€ν•©λ‹ˆλ‹€.

$ npm install --save-dev json-loader

μ›ΉνŒ©.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

λ‚˜λŠ” 그것을 μ•Œμ•„. λ¬Έμ œλŠ” Webpack이 더 기본적인 νŠΉμ„±μœΌλ‘œ 인해 browserify와 달리 λͺ‡ 가지 μΆ”κ°€ ꡬ성이 ν•„μš”ν•˜λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ν…ŒμŠ€νŠΈλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰ν•œ 방법은 예제 λΆ„κΈ° 및 diffλ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

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

λ‚΄ κ³„νšμ€ 그것을 자체 μΉ΄λ₯΄λ§ˆ ν…ŒμŠ€νŠΈλ‘œ λ°”κΎΈκ³  λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ 예제둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ PR을 μ œμΆœν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ˜ν•œ 개발이 진행됨에 따라 ν–₯ν›„ 문제λ₯Ό λ°œκ²¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

예, 같은 것을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€. 이것을 μš°μ—°νžˆ λ°œκ²¬ν•œ λ‹€λ₯Έ μ‚¬λžŒμ„ μœ„ν•΄ κ΄€λ ¨ μ›ΉνŒ© λ¬Έμ„œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. http://webpack.github.io/docs/configuration.html#node

@jaredmcdonald κ°μ‚¬ν•©λ‹ˆλ‹€ :)

@pho3nixf1re webpack으둜 ν…ŒμŠ€νŠΈ μš”μ²­μ— λŒ€ν•œ PR을 μ œμΆœν•˜λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€(browserify λŒ€μ‹  μΆ”κ°€ ν…ŒμŠ€νŠΈ) :+1:

λ„€! λ‚œ ~ν•˜λ €κ³ ν•œλ‹€. λΉ λ₯Έ κ°œλ… 증λͺ…μœΌλ‘œ λ‚΄ μ§€μ μ—μ„œλ§Œ κ΅μ²΄ν–ˆμŠ΅λ‹ˆλ‹€. 이번 주말에 ν• κ²Œμš”.

λΆˆν–‰νžˆλ„ json webpack λ‘œλ”λ₯Ό 좔가해도 이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

μ—¬κΈ°μ—μ„œλ„ 같은 λ¬Έμ œμž…λ‹ˆλ‹€.

ν•΄κ²°μ±…: webpack이 *.json νŒŒμΌμ„ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ json-loader μ„€μΉ˜ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ ν•΄λ‹Ή λ‘œλ”μ™€ μƒˆ node 개체λ₯Ό webpack.config.js κ³Ό 같이 μΆ”κ°€ν•©λ‹ˆλ‹€.

$ npm install --save-dev json-loader

μ›ΉνŒ©.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
}

이것은 μ €μ—κ²Œ 큰 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μœ„μ˜ λͺ¨λ“  λΆ„λ“€κ»˜ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

λͺ¨λ‘ κ°μ‚¬ν•©λ‹ˆλ‹€. 직접 λΆ€λ”ͺμ³€μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ ν–‰μš΄?

λ‚˜λŠ” webpack & requestλ₯Ό μ‚¬μš©ν•˜κ³  있으며 μ—¬κΈ°μ—μ„œ λͺ¨λ‘ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
json-loader & node μš”μ†Œλ‘œ μ†”λ£¨μ…˜μ„ μ‹œλ„ν–ˆμ§€λ§Œ μ—¬μ „νžˆ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€...

μ•ˆλ…•. 도움이 ν•„μš”ν•΄ node js mysql을 λ°˜μ‘ 앱에 κ²°ν•©ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ›ΉνŒ©μ„ μ‹€ν–‰ν•  λ•Œ 'net' λͺ¨λ“ˆμ„ ν•΄κ²°ν•  수 μ—†λ‹€λŠ” 였λ₯˜ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
μ•„λž˜ μ½”λ“œλ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

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 babel λ³€ν™˜κΈ°μ™€ ν•¨κ»˜ dotev 및 webpack λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•˜λŠ” λ™μ•ˆ 이 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. https://github.com/motdotla/dotenv/issues/114에 μ„€λͺ…λœ λŒ€λ‘œ μ›ΉνŒ©μ„ import 'dotenv/config'; 둜 κ°€μ Έμ˜€κΈ°

μœ„μ˜ λ…Έλ“œ {} μ†”λ£¨μ…˜μ΄ λ‚΄ webpack.config.jsλ₯Ό λ„μ™”μ§€λ§Œ λ‹€μŒ 였λ₯˜μ™€ ν•¨κ»˜ 이에 μ’…μ†λœ λ‚΄ ​​karma.conf.jsκ°€ μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ReferenceError: μ—„κ²©ν•œ λͺ¨λ“œλŠ” μ „μ—­ 속성 '_crypto'의 μ•”μ‹œμ  생성을 κΈˆμ§€ν•©λ‹ˆλ‹€.

λˆ„κ΅¬λ“ μ§€ dotenv 와 ν•¨κ»˜ μž‘λ™ν•˜λ„λ‘ 이것을 ν•΄κ²°ν–ˆμŠ΅λ‹ˆκΉŒ?

webpack을 μ‚¬μš©ν•˜λŠ” React μ•±μ—μ„œ request 에 따라 λ‹¬λΌμ§€λŠ” node-soap 을 μ‚¬μš©ν•˜λŠ” λ™μ•ˆ 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. λ‚΄ webpack ꡬ성을 μˆ˜μ •ν•˜λ €κ³  μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

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

그리고 λ‚΄κ°€ μ•„λŠ” ν•œ 아무도 아직 해결책이 μ—†μŠ΅λ‹ˆλ‹€. μ €λŠ” webpack에 μ΅μˆ™ν•˜μ§€ μ•Šμ§€λ§Œ 아직 ν•΄κ²° 방법이 μ—†λŠ” μ‚¬λžŒμ΄ μžˆλ‹€λ©΄ 이번 주말에 μ‹œκ°„μ΄ 있으면 더 디버깅할 수 μžˆλ„λ‘ 야크λ₯Ό λ©΄λ„ν•˜λ €κ³  ν•  κ²ƒμž…λ‹ˆλ‹€.

@kevhuang @sailingthoms @MrOutis λ˜λŠ” @gaearon 아직 이에 λŒ€ν•œ 해결책을 찾은 μ‚¬λžŒμ΄ μžˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ node-soap / request λ₯Ό React와 ν•¨κ»˜ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μˆ˜ν–‰ν•΄μ•Ό ν•  λ‹€λ₯Έ μž‘μ—…μ— λŒ€ν•œ 아이디어가 μžˆμŠ΅λ‹ˆκΉŒ? (λ°°μΆœν•˜μ§€ μ•Šκ³  create-react-app λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€).

@screendriver _node 개체_에 λŒ€ν•œ μ •λ³΄λŠ” μ–΄λ””μ—μ„œ μ–»μ—ˆμŠ΅λ‹ˆκΉŒ? λ‚˜λŠ” λ¬Έμ„œμ—μ„œ 그것을 λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€.

@richburdon , @lucasbento 도움이 될 μ˜ˆκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

@garethderioth μ£„μ†‘ν•©λ‹ˆλ‹€ 기얡이 μ•ˆλ‚˜μš”. λ„ˆλ¬΄ μ˜€λž˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

그건 κ·Έλ ‡κ³ : κ·Έ λ™μ•ˆ λ‚˜λŠ” HTML5 fetch API와 이 폴리필을 AJAX μš”μ²­μ— μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

@garethderioth
@jaredmcdonald λŠ” μœ„μ˜ https://github.com/request/request/issues/1529#issuecomment -90347445μ—μ„œ λ§ν–ˆμŠ΅λ‹ˆλ‹€.

예, 같은 것을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€. 이것을 μš°μ—°νžˆ λ°œκ²¬ν•œ λ‹€λ₯Έ μ‚¬λžŒμ„ μœ„ν•΄ κ΄€λ ¨ μ›ΉνŒ© λ¬Έμ„œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. http://webpack.github.io/docs/configuration.html#node

그건 κ·Έλ ‡κ³ : κ·Έ λ™μ•ˆ λ‚˜λŠ” HTML5 fetch API와 이 폴리필을 AJAX μš”μ²­μ— μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

React μ•± μ‚¬μš©μž 생성: CRAμ—λŠ” 이미 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 제3의 λΌμ΄λΈŒλŸ¬λ¦¬μ— μ˜μ‘΄μ„±μ΄ ν•„μš”ν•˜λ‹€λ©΄?
μ²˜μŒλΆ€ν„° ν•΄μ•Ό ν•˜λŠ” κ²ƒμ²˜λŸΌ create-react-app의 μ €μž₯μ†Œμ—μ„œ 문제 제기 :/

μœ„μ— κ²Œμ‹œλœ 였λ₯˜ μŠ€ν¬λ¦°μƒ·μ€ 관련이 μ—†μœΌλ©° ν•΄λ‹Ή 였λ₯˜λ₯Ό μ½λŠ” μ‚¬λžŒμ΄λΌλ©΄ λˆ„κ΅¬λ‚˜ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. πŸ˜‚ μ–΄μ¨Œλ“ , @pedzed 의 λŒ“κΈ€μ— μžˆλŠ” 두 가지 μ†”λ£¨μ…˜μ΄ λͺ¨λ‘ μ €μ—κ²Œ νš¨κ³Όκ°€ μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 또 λ‹€λ₯Έ 잠재적인 μ†”λ£¨μ…˜μ€ 상황에 따라 target: 'node-webkit λ˜λŠ” λ‹€λ₯Έ μœ μ‚¬ν•œ μ˜΅μ…˜ 을 μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

제 κ²½μš°μ—λŠ” node-soap μ—μ„œ browser-soap 둜 μ „ν™˜ν–ˆμ§€λ§Œ λͺ¨λ“  μ‚¬λžŒμ—κ²Œ μ μš©λ˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€.

λ‚˜λŠ” 이것과 λΉ„μŠ·ν•œ λ‹€λ₯Έ λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ 그것을 κ²½ν—˜ν•  μˆ˜μžˆλŠ” μ‚¬λžŒμ„ μœ„ν•΄ socketio/socket.io-client/issues/933μ΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

+1
감사 ν•΄μš”!

@screendriver & @kilometersκ°€ μ œκ³΅ν•œ 것을 μ‚¬μš©ν•˜μ—¬ μ•½κ°„μ˜ 변경을 ν–ˆμŠ΅λ‹ˆλ‹€(κ°μ‚¬ν•©λ‹ˆλ‹€!).

Webpack은 빈 ν™•μž₯μžκ°€ 있으면 λΆˆν‰ν–ˆμ§€λ§Œ λŒ€λΆ€λΆ„μ˜ 경우 이것이 ν•„μš”ν•˜μ§€ μ•Šλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

````
var 경둜 = ν•„μš”('경둜')
var μš”μ²­ = μš”κ΅¬('μš”μ²­')
var μ›ΉνŒ© = ν•„μš”('μ›ΉνŒ©')

module.exports = {
ν•­λͺ©: './src/main.js',
좜λ ₯: {
경둜: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
파일 이름: 'build.js'
},
λͺ¨λ“ˆ: {
κ·œμΉ™: [
{
ν…ŒμŠ€νŠΈ: /.json$/,
λ‘œλ”: 'json-λ‘œλ”'
}
]
},
ν•΄κ²°ν•˜λ‹€: {
/ ν™•μž₯자: ['.webpack.js', '.web.js', '.js'] /
}
λ…Έλ“œ: {
μ½˜μ†”: 사싀,
fs: 'λΉ„μ–΄ 있음',
κ·Έλ¬Ό: 'λΉ„μ–΄ 있음',
tls: 'λΉ„μ–΄ 있음'
}
}
````

λ²ˆλ“€ μ½”λ“œμ— 영ν–₯을 주지 μ•ŠλŠ” κ°€μž₯ μ‰¬μš΄ μ†”λ£¨μ…˜:

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이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 해결책을 μ£Όμ‹­μ‹œμ˜€.

@chandrasekarb λŠ” 'λΉ„μ–΄ 있음' λŒ€μ‹  fsλ₯Ό true둜 μ„€μ •ν•˜λ €κ³  μ‹œλ„ν•©λ‹ˆλ‹€.

target: 'node', λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€ :department_store:

이 λ¬Έμ œκ°€ λ°œμƒν–ˆλŠ”λ° μ„œλ²„ μΈ‘ λ Œλ”λ§μ„ μœ„ν•΄ 이쀑 ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„ ꡬ성을 μ‹€ν–‰ν•˜κ³  μžˆμ—ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μ„œλ²„ μΈ‘ λ Œλ”λ§ ꡬ성은 λŒ€μƒ: 'λ…Έλ“œ'둜 ν‘œμ‹œλ˜μ—ˆμ§€λ§Œ ν΄λΌμ΄μ–ΈνŠΈ κ΅¬μ„±μ—λŠ” μ§€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈ ꡬ성에 target: 'web'을 μΆ”κ°€ν–ˆλŠ”λ° 였λ₯˜κ°€ μ‚¬λΌμ‘ŒμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” 졜근 ν™œλ™μ΄ μ—†μ—ˆκΈ° λ•Œλ¬Έμ— μžλ™μœΌλ‘œ 였래된 κ²ƒμœΌλ‘œ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 더 μ΄μƒμ˜ ν™œλ™μ΄ μ—†μœΌλ©΄ νμ‡„λ©λ‹ˆλ‹€. κ·€ν•˜μ˜ 기여에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

μš”μ²­μ΄ ν˜„μž¬ μœ μ§€ 관리 λͺ¨λ“œμ— 있으며 μƒˆλ‘œμš΄ κΈ°λŠ₯을 λ³‘ν•©ν•˜κ±°λ‚˜ 이 버그λ₯Ό ν•΄κ²°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ #3142λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

Nuxt (λ˜λŠ” λ…Έλ“œ)와 ν•¨κ»˜ jQuery λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•˜λŠ” 것과 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ¬Έμ œλŠ” jQuery 및 Bootstrap 였고 jsdom μΆ”κ°€ν–ˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. nuxt.config.js head μ„Ήμ…˜μ—μ„œ 직접 라이브러리λ₯Ό κ°€μ Έμ˜€λŠ” 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. 또 λ‹€λ₯Έ 방법은 nuxt ꡬ성 ν”ŒλŸ¬κ·ΈμΈμ—μ„œ client mode λ₯Ό μ„€μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λˆ„κ΅°κ°€μ—κ²Œ 도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰