使用请求来浏览包裹大小

我试图用browserify使用请求库。 我真的想要在客户端和服务器上使用相同的代码进行API调用。

我创build了一个小例子,我只需要请求。

test.js

var r = require('request'); 

然后我浏览它,并用光盘工具检查大小。

 browserify test.js --full-paths --outfile discify/bundle.js && discify discify/bundle.js --output discify/disc.html 

生成的bundle.js的大小几乎是1.5 MB。 650 KB是自己请求的,625 KB是浏览器,156 KB是browserify-core。

所以问题是:

  • 为什么browserify和browserify-core都包含在软件包中?
  • 有没有一种方法可以通过浏览请求来缩小捆绑的大小?

Offt,请求是巨大的!

我对所有事情都进行了扫描,看起来请求强制浏览的原因是需要大量的核心内容,因为请求大量使用node.js API来浏览浏览器。 (像encryption或进程),你可能只需要后端(对于Oauth或你不能做一个正常的库)。

此外,我不认为请求在客户端上工作,所以你需要另一个库 – superagent / axios(都在服务器上工作)

或者你可以使用superagent / axios,如果你只是简单的http调用。

或者如果你在服务器上需要它,但是想在客户端上忽略它(因为它在客户端上不起作用)

 { "name": "mypkg", "version": "1.2.3", "main": "main.js", "browser": { "request": false } } 

或者如果你正在使用gulp的话

 bundler.ignore('request');