美文网首页node modules
multiline.js帮你在js当中实现多行文本

multiline.js帮你在js当中实现多行文本

作者: 羽寒 | 来源:发表于2014-05-29 06:14 被阅读544次

    multiline.js帮你在js当中实现多行文本

    想在js当中使用多行字符串?multiline.js帮你实现这个愿望!

    var str = multiline(function(){/*
    <!doctype html>
    <html>
        <body>
            <h1>❤ unicorns</h1>
        </body>
    </html>
    */});
    

    上面是来自github repo的示例,可以看出multiline.js是将注释当中的内容截取下来,生成的字符串,内部实现也比较简洁:

    ...
    var reCommentContents = /\/\*!?(?:\@preserve)?[ \t]*(?:\r\n|\n)([\s\S]*?)(?:\r\n|\n)\s*\*\//;
    
    var multiline = module.exports = function (fn) {
        ...
        var match = reCommentContents.exec(fn.toString());
        ...
    };
    ...
    

    关键之处就在于function的toString方法,requirejs使用了用同样的方法去解析模块的依赖关系

    但是这个模块有一个问题,我们经常需要压缩js代码来优化性能,很多的压缩方式默认会去除注释,这就会导致mutiline抛出异常,好在作者Sindre Sorhus说明了解决方式

    原文链接:http://jarvys.github.io/2014/05/29/multilinejs/

    相关文章

      网友评论

        本文标题:multiline.js帮你在js当中实现多行文本

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