gpt4 book ai didi

javascript - 如何从我的 Browserified bundle 中排除 "require(' react ')"?

转载 作者:行者123 更新时间:2023-12-03 13:09:08 24 4
gpt4 key购买 nike

我正在使用 Browserify 捆绑 ReactJS 应用程序。

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

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

最佳答案

@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 之外的代码。 React.js 只是 React 及其依赖项。

需要更多外部东西吗?除了 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。

关于javascript - 如何从我的 Browserified bundle 中排除 "require(' react ')"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com