Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要多个优化模块才能正常工作_Javascript_Optimization_Requirejs_R.js - Fatal编程技术网

Javascript 需要多个优化模块才能正常工作

Javascript 需要多个优化模块才能正常工作,javascript,optimization,requirejs,r.js,Javascript,Optimization,Requirejs,R.js,我正在尝试使用r.js和grunt制作我的应用程序的部署版本。应用程序是相当复杂的,所以我需要一个以上的优化版本的文件。特别是,每个子应用程序都有一个特定的优化模块,以及子应用程序模块中使用的一组通用模块 我将grunt配置为: grunt.initConfig({ requirejs: requireJsBuildOptions }); 此处requireJsBuildOptions是模块优化配置的散列,包含名称和输出。现在它工作正常,正在构建模块。但是我对autogerated有一

我正在尝试使用r.js和grunt制作我的应用程序的部署版本。应用程序是相当复杂的,所以我需要一个以上的优化版本的文件。特别是,每个子应用程序都有一个特定的优化模块,以及子应用程序模块中使用的一组通用模块

我将grunt配置为:

grunt.initConfig({
    requirejs: requireJsBuildOptions
});
此处requireJsBuildOptions是模块优化配置的散列,包含名称和输出。现在它工作正常,正在构建模块。但是我对autogerated有一些问题,需要模块名称解析。例如,我当前优化的模块结构如下所示:

define('some/old/app/path/a', [], function () { });
define('some/old/app/path/b', [], function () { });
define('some/old/app/path/yet/another/c', [], function () { });

define([
    'some/old/app/path/a',
    'some/old/app/path/b',
    'some/old/app/path/yet/another/c'
]);
当我在任何地方需要这个模块时,都不会调用define回调。但如果我将这些长路径替换为简单路径:

define('a', [], function () { });
define('b', [], function () { });
define('c', [], function () { });

define([
    'a',
    'b',
    'c'
]);

调用define回调。那么,有没有什么方法可以让它与旧的长路径一起工作?顺便说一句,为什么它不能工作?

RequireJS能够处理作为路径的模块名。你在问题中所展示的一切看起来都很正常。现在,使用RequireJS的许多问题都是由运行时配置、构建配置或HTML加载RequireJS和启动应用程序的方式中的错误引起的。因此,请添加a)您的实际构建配置,b)您的运行时配置,c)如何加载RequireJS和启动应用程序。