获取已编译模块的列表?从捆绑中排除React?

时间:2015-07-17 00:13:32

标签: reactjs browserify babeljs

如何获取与browserify + babelify捆绑在一起的已编译模块列表? 我用gulp设置了一个简单的捆绑过程。

我注意到捆绑变得非常大。我没有很多“有用的”代码。从库中我在页面上有以下内容:React,react-router,validator和EventEmitter,Immutable。但捆绑大约1.5MB。地图文件是独立的。有没有办法减小尺寸?

我试图将React排除在:

bundleStream.external(['jquery', 'react']);

我看到jquery被排除在外,现在尺寸变小了。我仍然在输出中看到React模块。

更新

所以,我的问题是我还使用了一些通过npm添加的反应组件。其中一个指向'react'和另一个'react / addons'。我想通过手动完成代码。不确定哪种工具可以帮助我。因此要删除它,我必须将两者都添加到我的browserify包中:

bundleStream.external(['jquery', 'react', 'react/addons']);

有一点需要提及的是,我的目标是从CDN加载库,并在我的代码中使用它们的全局变量。我编写了一个简单的浏览器转换函数,如解释here,将所有 require('react')导入React从'react'行更改为global < strong> window.React ,但是在npm中那些反应组件中的 require 调用没有用。因此,一半的包含 window.React ,另一半仍然需要('反应')行。

为了解决这个问题,我将 babelify 转换为 replaceStream 之后将其发送到了 {{3}}

.pipe(replaceStream('require("react")', 'window.React'))

1 个答案:

答案 0 :(得分:1)

这些链接可能会对您有所帮助。