美文网首页
seajs + 模板引擎

seajs + 模板引擎

作者: shanshanfei | 来源:发表于2018-04-11 14:43 被阅读0次
    //这种写法 模块会加载aa 和 bb,而不是根据条件进行加载
    //原因是:seajs分析模块依赖是将整个模块文件变为字符串,然后进行require的正则匹配,所以aa 和 bb都被分析进了依赖模块中
    //这种情况下 使用require.async进行异步加载模块即可
    if(a){
        require('./aa')
    }else{
        require('./bb')
    }
    

    【这篇文章有说为什么要用require.async来加载模块而不是通过if...else来进行判断】

    seajs模块加载的大体流程:
    1.seajs.use启动模块加载,模块加载完成,将模块的返回值module.exports作为callback回调函数的参数并执行;
    2.模块加载的过程,包含模块本身的加载、依赖模块分析及加载、以及依赖模块的依赖模块的加载等,然后按照依赖的顺序依次生成script标签,插入文档中;

    模板引擎的原理就是将模板字符串进行解析,然后进行正则替换,for、if等语句进行js代码转换,最后进行返回。

    相关文章

      网友评论

          本文标题:seajs + 模板引擎

          本文链接:https://www.haomeiwen.com/subject/hlzahftx.html