如何从源头正确生成生产版本,替换静态资产网址?

时间:2019-05-14 14:17:14

标签: php git apache sass gruntjs

我正在开发一个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文件基本上具有两种环境:

  1. 开发:     哪个会编译scss文件并将它们放置到css文件夹中。

  2. 产品:      这将压缩,合并,最小化我的资产并将它们放置到相应的文件夹中,然后实现为“ 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的源中生成产品。

0 个答案:

没有答案