我正在开发一个PHP Web项目。下面是我的源代码结构(用于演示)。
public_html/
/assets/
/scss/ (Contains Sass Files)
/css/ (Contains compiled css files)
/js/ (All Javascript Files and Libraries)
/inc/
/config/
/modules/
/node_modules/
package.json
Gruntfile.js
build.php
index.php
以上源代码存储在本地计算机上,并将被推送到Git Repo。
Grunt文件基本上具有两种环境:
开发: 哪个会编译scss文件并将它们放置到css文件夹中。
产品: 这将压缩,合并,最小化我的资产并将它们放置到相应的文件夹中,然后实现为“ build_prod_v-X.Y.zip ”。
在localhost上一切正常,因为我将所有href,src指定为
http://localhost/project_folder/here_goes_rest_lookup
它们是一些ajax.js文件,其中包含url
http://localhost/project_folder/inc/data_fetch.php
我只是从Git Repo中提取代码,编辑源代码并在浏览器(url:// localhost / source)中查看更改,效果很好。
但是在构建生产版本时如何将这些本地主机url更改为真实的网站urls(domain.com),然后将其部署到实时服务器中。
我知道我应该使用相对网址来解决这些问题,例如:
In html:
<link rel="stylesheet" type"text/css" href="assets/css/main.css">
In JS Files:
$ajax.(){
url:"inc/ajax_fetch.php"
}
Css can be fixed at compile time.
但是我不能使用这种方法,因为我使用mod rewrite来清理URL,因此我必须坚持使用绝对URL。
请帮帮我,我如何从具有真实域URL的源中生成产品。