有测试服务器A 动态把静态资源生成在线url地址 当发布之后是放在cdn上面url又不一样 那么我在开发机开发的项目给开发 但又不想给静态资源 只想给html 这样的话开发上线还要手动修改一次url指向cdn 有木有好点的方法解决来回修改静态地址的困扰
我使用 grunt+node+express
做前端部分的控制,在渲染页面的时候,静态资源的域名会根据 dev
, staging
, production
进行改变,域名后面的部分在 express
里做好路由配置。运行时可以根据环境变量,自动获取不同地址的静态资源。
还是试试构建工具吧,静态资源使用php变量不靠谱,js中引用到咋办
测试环境和cdn上引用相同路径的URL,域名部分以动态内容输出。然后项目发布之后把对应输出的域名换成CDN的域名
类似这样,以PHP为例:
-
定义常量
define('DOMAIN','XXXXX.com');
-
在页面里输出
...
src="http://<? echo DOMAIN; ?>/aaa/bbb/ccc"
...
引用资源的域名如果有变动,直接改个常量就可以了。
测试环境和生产环境,还是通过构建工具做资源迁移或者替换。
开发环境可以在team内部搭建静态资源服务器,或者将所有静态资源全部签出到本地。
这样做的好处是,开发时不需要有任何工作,只需要做好提前的约定就可以。
在release 或者 build 的时候做好检查和替换就ok。一次性工作。
搞台内网服务器做反向代理,转换url路径前缀(一般静态化都是一一映射的)。如果cdn域名写死的话。两个方案,host或内网DNS
百度的fis据说能解决一切问题http://fis.baidu.com/