当前位置: 首页 > 面试题库 >

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

芮念
2023-03-14
问题内容

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.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。



 类似资料:
  • 在我的根项目中,我有两个子项目具有这种包结构。 在项目1中,我有一个用大规定义的类,就像这样 问题是,如果我运行该测试,它也会分析项目2中的所有内容。我如何排除包com.app.api?

  • 在使用maven apache felix插件构建捆绑jar时,如何排除一些META-INF文件? 这是我的felix配置 我正在引入所有传递依赖项并嵌入它们,因为我想创建一个可以添加到类路径的jar。 当我尝试运行我的jar时,尽管我遇到了异常 在SO上找到一篇帖子后,我手动删除了一些似乎来自bouncy文件的META-INF/file。然后我重新创建了jar文件,它成功了。有没有一种方法可以使

  • 问题内容: 我们有一个与已删除的某些需求相关的软件包,但我们不想删除该代码,因为将来可能会再次需要它。因此,在我们现有的ant构建中,我们只是将该包排除在了jar中之外。这些类由于我们还删除了它们的依赖关系而无法编译,因此它们不能包含在构建中。 我正在尝试模仿Gradle中的功能,如下所示: 即使使用上面的exclude调用(并且我也尝试过不带方括号的尝试),gradle仍在尝试编译类,这会导致编

  • 环境:IBM WAS 8.0,CDI 1.0实现:OpenWebBeans 我怎么能排除几个包从服务器启动扫描? 是否有任何CDI扩展可用或需要为此编写自定义扩展?

  • 问题内容: 我有此表(由Django生成): 我试图通过子句批量插入很多数据。 皱纹是,我需要得到的背都行的,无论他们是已经存在与否。 在其他情况下,我会做类似的事情: 执行原因会使该语句返回该行的。除此之外,它不适用于此表。我认为这是行不通的,因为我拥有多个唯一的字段,而在其他情况下,我使用此方法时只有一个唯一的字段。 尝试通过Django的游标运行SQL时出现此错误: 如何在此表中批量插入并获

  • 问题内容: 这就是我所需要的。其他详细信息:我有一个src / bootstrap / java文件夹和一个常规的src / main / java文件夹。出于明显的原因,每个人都需要进入一个单独的罐子。我能够使用以下命令生成一个引导罐: 但是常规jar仍包含bootstrap类。我正在用这个答案编译bootstrap类。 没有启动类的任何灯光来生成myproject.jar? 问题答案: 您必须