gpt4 book ai didi

javascript - RequireJS:优化器为定义模块生成名称

转载 作者:行者123 更新时间:2023-11-28 05:26:39 27 4
gpt4 key购买 nike

我正在使用 gulp.js 和 requirejs 的优化工具(gulp-requirejs),它将所有脚本合并到一个文件中。我有一个没有名称的定义模块,但它为其生成了一个名称。问题是我不知道如何从另一个文件调用该模块。

例如在 page1.js 中:

...
define("map",["jquery"],function($){
...
});
define("lib", ["jquery"],function($){
...
});

在 page2.js 中我想调用 page1.js lib 模块,但我不知道该怎么做?我希望如果优化工具没有设置名称,那么我的代码就可以工作,但这样我不知道如何使其工作。有什么想法吗?

最佳答案

不可能在单个文件中使用多个模块,除非这些模块被命名。否则 RequireJS 将不知道如何将对模块的请求与定义它的实际代码关联起来。

将所有模块优化为单个 bundle 时的典型场景是, bundle 中将有一个特定模块作为应用程序的入口点,然后您可以将paths 中的模块名称:

require.config({
paths: {
lib: 'path/to/page1',
}
});

如果您没有有单个入口点,但实际上可能在包之外还有代码,这些代码将启动加载包中的模块,那么你需要在 bundles 中列出这些模块:

require.config({
paths: {
lib: 'path/to/page1',
},
bundles: {
lib: ['map', ...],
}
});

我上面显示的 bundles 设置本质上是“当您查找名为 map 的模块时,获取模块 lib,然后您将具有map的定义。”

关于javascript - RequireJS:优化器为定义模块生成名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092244/

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