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不一致,引用失败。各位大神有什么解决方案

gulp seajs gulp-seajs-combo

姬之宫·镜澪 10 years, 1 month ago

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

eelmon answered 10 years, 1 month ago

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

51ting answered 9 years, 11 months ago

Your Answer