微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从我的Browserized包中排除“ require'react'”?

如何解决如何从我的Browserized包中排除“ require'react'”?

@NickTomlin给出了此答案,但随后将其删除

您可以使用external

browserify --external react src.js > dest.js

使用api的示例:

var bundler = browserify('src.js');

bundler.external('react');
bundler.bundle();

这是一个可行的选择。 external需要另一个脚本以兼容方式提供模块。您可以生成这样的脚本:

browserify -r react > react.js
env NODE_ENV=production browserify -r react | uglifyjs -m > react.min.js

在HTML中:

<script src="react.js"></script>
<script src="dest.js"></script>

dest.js是您的代码,但没有反应。react.js只是react及其依赖项。

需要更多外部物品吗?只需添加它们即可做出反应。

browserify -x react -x react-bootstrap src.js > dest.js
browserify -r react -r react-bootstrap > vendor.js

您还可以在package.json中执行类似的操作

"browser": {"react": "./react-fake.js"}



// ./react-fake.js
try {
    module.exports = require('react');
} catch(e){
    module.exports = window.React;
}

并编译-x react。这使您可以接受-r react构建,并回退到全局React。

解决方法

Browserify用来捆绑一个ReactJS应用程序。

我所有的组件require("react")在顶部都有一个。这导致BrowserifyReactJS源包括在我的捆绑包中。但我想排除它。

我怎么做?这是正确的做法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。