seajs使用gulp+gulp-seajs-combo合并js出现模块名不一致问题

使用gulp-seajs-combo合并seajs编写的模块。其合并的模块ID是根据需要合并的js的文件名生成的。这就会导致与我们编写的seajs.use的ID不一致,而无法成功的引用合并后的模块。

例:

a.js

define(function(require, exports, module)){
    var b = require( 'deps/b' );
    return 'a' + ' ' + b;
}

b.js

define(function(require, exports, module)){
     return 'b';
}

合并后的 main.js

define('b',function(){
    return 'b';
});
define('a',['b'],function(){
    var b = require( 'b' );
    return 'a' + ' ' + b;
});

但是页面中的引用 seajs.use('dist/a'); 引用的ID与合并后的ID不一致,引用失败。各位大神有什么解决方案

阅读 5.8k
1 个回答

可否在 seajs-config 里将 base 目录设置成 dist,类似 seajs.config({base: "/dist/"})
然后 seajs.use('a') ?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进