Request: Webpack

䜜成日 2015幎04月06日  Â·  41コメント  Â·  ゜ヌス: request/request

Webpackを䜿甚しおrequestを読み蟌もうずしおいたすが、次の゚ラヌが衚瀺されたす。

screen shot 2015-04-06 at 13 04 59

これはbrowserifyを䜿甚するブラりザヌで機胜するはずであり、私が間違っおいるこずに興味がありたした。 たぶん、browserifyはこの問題を匕き起こしおいるwebpackずは異なる方法で䟝存関係を凊理したす。 䜕か案は

最も参考になるコメント

ここで同じ問題。

解決策 json-loaderむンストヌルしお、webpackが* .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

私はそれを考え出した。 問題は、Webpackはより基本的な性質であるため、browserifyずは異なりいく぀かの远加の構成を必芁ずするこずです。 テストを正垞に実行する方法に぀いおは、ブランチず差分の䟋を参照しおください。

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

私の蚈画は、それを独自のカルマテストに倉えおPRを提出し、他の人がそれを䟋ずしお䜿甚できるようにするこずです。 たた、開発が進むに぀れお将来の問題が明らかになる可胜性がありたす。

ええ、同じこずを芋぀けたした、ありがずう。 これに遭遇した他の人のために、関連するwebpackドキュメントはここにありたす http //webpack.github.io/docs/configuration.html#node

@jaredmcdonaldどうもありがずう:)

@ pho3nixf1re webpackを䜿甚したテストリク゚ストに関するPRを送信するずよいでしょう远加のテスト、browserifyの代わりではありたせん+ 1

はい する぀もりです。 抂念実蚌ずしお、ブランチで亀換しただけです。 私は今週末に乗りたす。

残念ながら、jsonwebpackロヌダヌを远加しおもこれは修正されたせんでした。

ここで同じ問題。

解決策 json-loaderむンストヌルしお、webpackが* .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
}

これは私にずっお倧きな助けになりたした。 䞊蚘のすべおに感謝したす。

みんなありがずう、これにぶ぀かった。

運が良ければ

私はwebpackrequestを䜿甚しおいたすが、ここで゚ラヌが発生したした。
json-loadernode芁玠を䜿甚しお゜リュヌションを詊したしたが、それでも゚ラヌが発生したす...

こんにちは。 私は助けが必芁です。 ノヌドjsmysqlをreactアプリに結合したいず思いたす。 しかし、webpackを実行するず、モゞュヌル「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 transpilerでdotevずwebpackを䜿甚しようずしおいるずきに、この問題が発生しおいたす。 https://github.com/motdotla/dotenv/issues/114で説明されおいるように、webpackをimport 'dotenv/config';ずしおむンポヌトしたす

䞊蚘のノヌド{}゜リュヌションは私のwebpack.config.jsを助けたしたが、それに䟝存する私のkarma.conf.jsを壊し、次の゚ラヌが発生したした。

ReferenceError厳密モヌドでは、グロヌバルプロパティ '_crypto'の暗黙的な䜜成が犁止されおいたす

dotenv動䜜するようにこれを解決した人

node-soapを䜿甚しようずするず、この問題が発生したす。これは、webpackを䜿甚するReactアプリのrequestに䟝存したす。 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フェッチAPIずこのポリフィルをAJAXリク゚ストに䜿甚しおいたす。

@garethderioth
@jaredmcdonaldは、䞊蚘のhttps://github.com/request/request/issues/1529#issuecomment-90347445でそれを述べおい

ええ、同じこずを芋぀けたした、ありがずう。 これに遭遇した他の人のために、関連するwebpackドキュメントはここにありたす http //webpack.github.io/docs/configuration.html#node

ちなみに、その間、私はHTML5フェッチAPIずこのポリフィルをAJAXリク゚ストに䜿甚しおいたす。

React Appナヌザヌの䜜成CRAにはすでにwindow.fetchポリフィルが含たれおいるため、ナヌスケヌスを満たす堎合はrequest代わりに安党に䜿甚できたす。

@screendriver @josiahspragueこれの代わりに

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

私が曞いた

target: 'node',

それは私のすべおの問題を解決したした。

線集ここでそれに぀いおもっず読むこずができたす https 

@gaearon䟝存関係が3番目のラむブラリで必芁な堎合はどうなりたすか
私が最初から持っおいるはずのように、create-react-appのリポゞトリで問題を提起したす/

䞊蚘に投皿された゚ラヌのスクリヌンショットは無関係です。これは、これらの゚ラヌを読んだ人にはおそらく明らかです。 😂ずにかく、 @ pedzedのコメントの䞡方の解決策が私のために働くようです。 別の考えられる解決策は、状況に応じおtarget: 'node-webkitたたは別の同様のオプションを䜿甚するこずです。

私の堎合、 node-soapからbrowser-soapに切り替えただけですが、それがすべおの人に圹立぀わけではありたせん。

私はこれに䌌た別の問題を抱えおいたしたが、それを経隓する可胜性のある人にずっおは、socketio / socket.io-client / issues / 933になっおしたいたした

+1
ありがずう

@screendriverず@kilometersが提䟛するものを䜿甚しお小さな倉曎を

Webpackは空の拡匵機胜があるず文句を蚀いたしたが、ほずんどの堎合、これは必芁ないず思いたす。

`` ``
var path = require 'path'
var request = require 'request'
var webpack = require 'webpack'

module.exports = {
゚ントリ './ src / main.js'、
出力{
パスpath.resolve__ dirname、 '。/ dist'、
publicPath '/ dist /'、
ファむル名 'build.js'
}、
モゞュヌル{
ルヌル[
{{
テスト/。json $ /、
ロヌダヌ 'json-loader'
}
]
}、
解決 {
/拡匵子['。webpack.js'、 '。web.js'、 '。js'] /
}
ノヌド{
コン゜ヌルtrue、
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

この問題が発生したした。これは、サヌバヌ偎のレンダリング甚にデュアルクラむアント/サヌバヌ構成を実行しおいたためです。 サヌバヌ偎のレンダリング構成はタヌゲットずしおマヌクされたした 'ノヌド'、クラむアント構成には指定されおいたせん。 タヌゲット 'web'をクラむアント構成に远加するず、゚ラヌはなくなりたした。

この問題は、最近のアクティビティがないため、自動的に叀いものずしおマヌクされおいたす。 それ以䞊のアクティビティが発生しない堎合は閉じられたす。 貢献しおいただきありがずうございたす。

リク゚ストは珟圚メンテナンスモヌドになっおおり、新機胜をマヌゞしたり、このバグに察凊したりするこずはありたせん。 詳现に぀いおは、3142を参照しおください。

Nuxt たたはノヌドでjQueryを䜿甚しようずしおも同じ問題が発生したした。問題は、 jQueryずBootstrapをむンポヌトし、 jsdomを远加したこずです。 nuxt.config.js headセクションでラむブラリを盎接むンポヌトするこずを解決したした。別の方法は、nuxt構成プラグむンでclient modeを蚭定するこずです。誰かに圹立぀こずを願っおいたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡