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

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
A
About on SuperTechFans
Vercel News
Vercel News
B
Blog
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
腾讯CDC
D
Docker
V
Visual Studio Blog
博客园 - 叶小钗
The Cloudflare Blog
Jina AI
Jina AI
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏

博客园 - 随机

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