惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
Last Week in AI
Last Week in AI
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
The Cloudflare Blog
罗磊的独立博客
月光博客
月光博客
N
Netflix TechBlog - Medium
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
Jina AI
Jina AI
J
Java Code Geeks

博客园 - 随机

10周年整 年中review Javascript 模块化开发上线解决方案 AMDJS编译工具 第三方组件接入方案(演示文稿图片) manifest资源提取工具 也来山寨一版Flappy Bird (js版) 2014 todo list 2013年终总结 #1分钟删# 模块合并小工具 移动端页面前端提速的技术梳理 状态机——Javascript词法扫描示例 [整理] ES5 词法约定文档树状图 php并发请求 [转]给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历 javascript基础组件设计资料 2013 草莓音乐节妹子抓拍 [组图] 键盘按键事件的fireEvent 错觉
代码打包预处理工具
随机 · 2014-04-28 · via 博客园 - 随机

最近因业务原因,需要将

render(page({}), compList, 'js/page/file.js' );

这样的代码中的第三个参数在上线的时候替换成线上地址,但页面因为开启了manifest,没法在后端做配置输出,就在build的时候分析该语法的第三个参数来替换为新地址。需要处理的代码会加上特定的注释来让分析器分析来实现预处理,大概像这样:

/*# render #*/
    render(page({}), compList, 'js/page/file.js' );
/*# end #*/

这样在build的时候,给个配置就能转换为新的代码输出了:

main({
    file:"test.js",
    render:{
        files:["http://static.cdn.address/newfile.js"]
    }
});

输出:

/*# render #*/
    render(page({}), compList,"http://static.cdn.address/newfile.js");
/*# end #*/

源码地址:

  https://github.com/randomyang/prepro