javascript - web部署css/js等地址转换的问题
PHP中文网
PHP中文网 2017-04-11 10:11:55
[JavaScript讨论组]

我现在本地开发时web网页的css/js都是相对于本地的
如:

<link rel="stylesheet" href="/css/passport.css"/>

但是上线的时候我需要将这些css/js地址转换成单独css/js静态文件服务器的地址
如用阿里云的oss地址:

<link rel="stylesheet" href="http://xxx-public.oss-cn-beijing.aliyuncs.com/css/passport.min.css" />

现在问题是:

每次我本地页面修改后,如果要将本地的web页面传到服务器,都需要去手动改动css/js等地址。传输到服务器后还需要改回来。(抱歉抱歉,,我现在就是用这么愚蠢的方法。)

请问有聪明的方法吗?万分感谢!

(我用的是Node.js,express模板引擎。)

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
怪我咯

这个肯定是要区分开发环境和生产环境的,一个办法是将静态文件的域名做为配置参数放到配置文件中,再通过指定环境变量来使用不同的参数。

具体的做法可以参考这篇文章,里面介绍的很全面了。

怪我咯

你需要一个前端自动化编译工具

比如使用FIS3

下面是一个例子:
目录结构:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
    
</body>
</html>

fis-conf.js fis配置

fis.match('*.css', {
    domain: 'http://cdn.baidu.com/'
});

我们执行编译命令 fis3 release -d ./output
在当前目录下生成编译结果到output文件夹中

output/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="http://cdn.baidu.com//index.css">
</head>
<body>
    
</body>
</html>

FIS3 domain配置

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号