问题标签 [dynamic-import]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webpack - 如何捆绑 node_module 目录中的供应商块
有没有办法将依赖模块中动态导入创建的块文件作为主应用程序中的块文件包含在内。
这是我正在尝试的 -
我有两个 npm 模块,比如 M1、M2。
M2 使用 import() 运算符动态导入 M1。在捆绑 M2 时,我使用 webpackChunkName 创建 vendor~M1.js
然后有一个静态导入 M2 的反应应用程序 A1。
在捆绑 A1 时,我使用 splitChunks 为 M2 创建 M2bundle.js
webpack.config.js 看起来像这样 -
此输出为 A1.js 创建 main.js,为 M2 模块创建 M2bundle.js,但它不包括 node_module/M2 目录中的 vendor~M1.js。
webpack 配置中有没有办法实现这一点?
感谢帮助!
reactjs - 通过动态导入代码拆分应用程序部分
我正在尝试将我的应用程序拆分为chunks
using dynamic imports
. 据我所见,我只能dynamic import
用于每个组件,但我想将单独的应用程序部分拆分为chunks
:
- 产品部分(多个页面、商店、实用程序等)
- 用户部分(多个页面、商店、实用程序等)
因此,如果用户从产品部分访问任何路由,例如 /product/:id,product.chunk.js 将被加载。
我找不到任何这样的例子,所以我不确定它是否可能。
recursion - 递归 vue 组件的延迟加载
在Vue2中,我正在创建一个树形组件,即它以递归方式调用自身。
每个递归组件都需要一些计算,如果有大数据传递给根实例,整个站点会卡住几秒钟,直到计算完成。
我想过使用递归组件的延迟加载。
当网站加载时,用户不会打开任何东西,也没有理由让他们一次呈现所有内容。
根据Vue Guide,应该这样做:
问题是递归组件不会自己导入,而是使用名称:
在这种情况下如何使用动态导入(或延迟加载)?
c++ - 为什么传统的 GetProcAddress 到 std::function 工作不简单
如标题所示,我想将 GetProcAddress 转换为 std::function。是的,堆栈溢出有多种解决方案,但没有一个真正解释为什么需要这些解决方法。我无法真正理解确切的错误信息以及它发生的原因。示例来源很简单:
(https://godbolt.org/z/FhaeLA)
所以,我的问题是为什么它是错的?
相关:我也试过这个: Function pointer to multiple argument C++11 std::function: Templating GetProcAddress 但它也无法编译(https://godbolt.org/z/1wSDZj)
我还发现了这个主题: C++ Dynamically load random function from DLL into std::function 这可能有效(我还没有尝试过,我很快就会这样做)但我试图理解为什么这种神秘看起来巨大的样板是必要的。
笔记:
- 显然 0xDEADBEEF 将被替换为必要的地址。
- 我正在使用 Visual Studio 2019 进行编译,但显然欢迎任何通用答案
c++ - 替换(或重新实现?) std::function 进行一些统计和测试
我有一个特殊情况,我想测量关于我的 std::function 使用情况的统计信息。通常诸如花费时间、调用量、经常调用哪个函数以及有时用于测试之类的事情,例如随机抛出 nullptr 以检查我的代码如何处理它。
首先,我正在考虑从 std::func 继承,然后覆盖检索指针的函数 - 或类似的东西 - 但在阅读了几个主题和指南后,我得出结论,这是非常不明智的。
我的第二个想法是简单地创建一个包装类。重构我的整个代码以使用这个包装器而不是 std::function 并不难,所以没关系。我想避免的只是使用不必要和不舒服的用法,就像任何额外的功能一样。例如。:
在我目前非常简单的情况下,不会复制 std::function,只需简单地初始化一次,必要时一直调用它。因此,如果它对您有所帮助,您可以考虑这一点并忽略其他东西,例如复制构造函数等(当然,自定义实现不缺少的功能越多越好,但我个人提到的已经足够了)
我不知道如何继续前进,这就是为什么我什至没有附上任何源代码。
python - Python:使用 importlib 从字符串中动态导入模块的代码
我希望在 Python (3.7) 中动态导入一个模块,其中模块的代码是在一个字符串中定义的。
下面是一个使用该imp
模块的工作示例,该模块已被弃用importlib
(从 3.4 版开始):
Python 的文档指出importlib.util.module_from_spec()
应该使用imp.new_module()
. 但是,似乎没有一种方法可以使用importlib
模块创建空白模块对象,就像我可以使用imp
.
我怎样才能使用importlib
而不是imp
达到相同的结果?
javascript - 如果我使用动态导入功能,Webpack 将无法编译
我有一个看起来像这样的函数:
如果我包含导入部分,我的 webpack 将无法编译并最终会崩溃。然后节点给我这个错误:
奇怪的是,如果我在另一个文件中使用 import 函数,它可以完美地工作,但在这个文件中它就无法工作,webpack 编译器就放弃了。
javascript - 如何强制 Nextjs 为特定模块创建一个块?
我正在尝试使用动态导入来根据传递给组件的道具导入不同的模块。组件的路径保存在对象中
然后
不幸的是,我收到以下错误:
Unhandled Rejection (Error): Cannot find module './Apple.js'
当我明确指定文件名 ( import('./Apple.js')
) 时它会消失。是否可以强制 nextjs 为这些动态模块提供服务?
reactjs - 无法读取未定义的属性 'then' | 当我尝试使用 babel-dynamic-import 导入组件时
我正在尝试导入一个反应组件,@babel/plugin-syntax-dynamic-import
但我无法使其工作。
这是我的主要组件中的代码:
我的空间组件中的代码:
使用此代码,我收到此错误:Uncaught TypeError: Cannot read property 'then' of undefined
我把它放在这里而不知道它是否有帮助:The above error occurred in the <LoadableComponent> component: react-dom.development.js:17117
是的,我已经@babel/plugin-syntax-dynamic-import
安装并添加到我的 babel 配置文件中。
javascript - 动态导入被添加到 webpack 包
我想在特定条件下导入一个模块,所以我通过动态导入语法来做到这一点:
这可行,但无论值showModal
是什么,它都会将“fancy-modal”库代码添加到 webpack 包中。
我认为动态导入只会在条件为真时加载库,为什么无论如何它都会被 webpack 加载?