繁体   English   中英

将“ require”库导入ReactJS项目

[英]Import “require” library into ReactJS project

我正在学习ReactJS语言,现在需要在我的项目中添加请求库。 所以我通过npm install命令从github.com/request/request下载了库,现在我需要将该库导入到我的项目中。

但是,当我将使用:

import Request from 'request';

要么

var request = require('request');

那么我将无法构建我的应用程序(由于某些错误)。 我不确定是否可以通过这种方式将3rd party模块(或如何调用)导入ReactJS

你能帮我一点忙吗?

====包含错误====

在我的.jsx文件中,我得到了:

import React from 'react';
var request = require('request');
import {Table, TableBody, TableFooter, TableHeader, TableHeaderColumn, TableRow, TableRowColumn} from 'material-ui/Table';
import TextField from 'material-ui/TextField';
import RaisedButton from 'material-ui/RaisedButton';
import FloatingActionButton from 'material-ui/FloatingActionButton';
import DialogWindow from '../components/DialogWindow.jsx'

import ContentAdd from 'material-ui/svg-icons/content/add';
import PlayArrow from 'material-ui/svg-icons/av/play-arrow';
import PlaylistAdd from 'material-ui/svg-icons/av/playlist-add';

如您所见,请求被导入到第二行。 当我尝试构建我的应用程序时,会出现以下错误:

ERROR in ./~/forever-agent/index.js
Module not found: Error: Can't resolve 'net' in 'folder with project\node_modules\forever-agent'
 @ ./~/forever-agent/index.js 6:10-24
 @ ./~/request/request.js
 @ ./~/request/index.js
 @ ./src/containers/Album.jsx
 @ ./src/routes.js
 @ ./src/index.jsx
 @ multi (webpack)-dev-server/client?http://127.0.0.1:8888 webpack/hot/dev-server react-hot-loader/patch ./src/index.jsx

ERROR in ./~/tough-cookie/lib/cookie.js
Module not found: Error: Can't resolve 'net' in 'folder with project\node_modules\tough-cookie\lib'
 @ ./~/tough-cookie/lib/cookie.js 32:10-24
 @ ./~/request/lib/cookies.js
 @ ./~/request/index.js
 @ ./src/containers/Album.jsx
 @ ./src/routes.js
 @ ./src/index.jsx
 @ multi (webpack)-dev-server/client?http://127.0.0.1:8888 webpack/hot/dev-server react-hot-loader/patch ./src/index.jsx

ERROR in ./~/tunnel-agent/index.js
Module not found: Error: Can't resolve 'net' in 'folder with project\node_modules\tunnel-agent'
 @ ./~/tunnel-agent/index.js 3:10-24
 @ ./~/request/lib/tunnel.js
 @ ./~/request/request.js
 @ ./~/request/index.js
 @ ./src/containers/Album.jsx
 @ ./src/routes.js
 @ ./src/index.jsx
 @ multi (webpack)-dev-server/client?http://127.0.0.1:8888 webpack/hot/dev-server react-hot-loader/patch ./src/index.jsx

ERROR in ./~/forever-agent/index.js
Module not found: Error: Can't resolve 'tls' in 'folder with project\node_modules\forever-agent'
 @ ./~/forever-agent/index.js 7:10-24
 @ ./~/request/request.js
 @ ./~/request/index.js
 @ ./src/containers/Album.jsx
 @ ./src/routes.js
 @ ./src/index.jsx
 @ multi (webpack)-dev-server/client?http://127.0.0.1:8888 webpack/hot/dev-server react-hot-loader/patch ./src/index.jsx

ERROR in ./~/tunnel-agent/index.js
Module not found: Error: Can't resolve 'tls' in 'folder with project\node_modules\tunnel-agent'
 @ ./~/tunnel-agent/index.js 4:10-24
 @ ./~/request/lib/tunnel.js
 @ ./~/request/request.js
 @ ./~/request/index.js
 @ ./src/containers/Album.jsx
 @ ./src/routes.js
 @ ./src/index.jsx
 @ multi (webpack)-dev-server/client?http://127.0.0.1:8888 webpack/hot/dev-server react-hot-loader/patch ./src/index.jsx

ERROR in ./~/request/lib/har.js
Module not found: Error: Can't resolve 'fs' in 'folder with project\node_modules\request\lib'
 @ ./~/request/lib/har.js 3:9-22
 @ ./~/request/request.js
 @ ./~/request/index.js
 @ ./src/containers/Album.jsx
 @ ./src/routes.js
 @ ./src/index.jsx
 @ multi (webpack)-dev-server/client?http://127.0.0.1:8888 webpack/hot/dev-server react-hot-loader/patch ./src/index.jsx

看起来像是图书馆的已知问题。 https://github.com/request/request/issues/1529中描述了一个修复程序(向Webpack配置中添加了一个node配置对象),以使该库在浏览器中工作。

但是,您可能需要考虑其他库,例如isomorphic-fetchaxios

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM