gpt4 book ai didi

debugging - 需要加载模块,即使它包含在构建中

转载 作者:行者123 更新时间:2023-12-03 08:05:37 25 4
gpt4 key购买 nike

我正在做一个相当复杂的 Require 项目;这个项目的核心是一个第三方视频播放器代码库,我们正在围绕它构建一个应用程序。我目前正在使用 Require 优化器制定我们的生产构建过程。

优化器工作得很好,但是当我将应用程序与“内置”JS 一起使用时,Require 坚持通过插入一个额外的脚本标签来加载第三方模块。我搜索了已编译的 JS 并确认该模块已包含在构建中;但它似乎在运行时没有被识别。

这个模块是需要第三方模块的:

define(['models/Widget','amp_lib'], function(Widget) {
// Housekeeping/configuration
// Nothing to return here
})

模块 amp_lib 在主配置中定义:

require.config({
paths: {
amp_lib: 'path/to/module/src'
}
});

任何人都可以帮助我理解 Require 如何确定特定模块是否已加载?一整天都在Require本身里翻来覆去,希望能找到这个判断是从哪里来的,但是没有结果。

最佳答案

如上所述:

I found the problem today. Turns out the third-party module we get is using a few utility libraries, one of which is AMD-compliant and thus has its own define() function when it detects a loader. So when building, the optimizer was defining just that library as the module, instead of the entire codebase, which in turn caused the module to be reloaded at runtime. Lesson learned: be careful with stuffing third-party stuff into a Require project.

关于debugging - 需要加载模块,即使它包含在构建中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16679515/

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