2017-07-03 88 views
0

我在本地主機上的一個項目,在下列路線:本地主機路由在現場環境中工作嗎?

,我目前從JavaScript數據發佈到應用程序是這樣的:

// Centralised, referenced from each javascript file: 
var baseUrl = 'http://127.0.0.1/projects/PROJECT_NAME/web/app_dev.php'; 

// The signup post URL is generated like this: 
var postUrl: baseUrl + "/signup", 

這適用於所有本地主機上的文件。

問題:

  • 在這個項目上線,做這些網址,還能用嗎?
  • 是否有更簡潔的方式來編寫baseUrl,以便在項目啓用時不需要更改?

道歉,如果這是一個明顯的,但我目前只在本地主機工作。歡迎任何建議。 Symfony 3應用程序,XAMPP服務器,OSX。

編輯:

使用$就發帖的服務器。

+0

這完全取決於生產環境的配置。 – ceejayoz

+1

答: B有一個配置文件,其中包含基礎url – rtfm

+1

我不確定你使用什麼進行調用,'.ajax()'接受相關URL和[XMLHttpRequest.open()](https:// xhr.spec.whatwg.org/#request-url)沒有指定url必須是絕對的,所以我認爲它可以是相對的,所以你可能會逃脫相關的網址,而不用擔心你的環境 –

回答

1

我強烈建議你爲你的項目創建一個虛擬主機,並將它的webroot設置爲你項目的web文件夾並從那裏訪問你的項目。

下面是關於如何做到這一點的XAMPP的MacOS的一個很好的教程: http://jonathannicol.com/blog/2012/03/11/configuring-virtualhosts-in-xampp-on-mac/

即:http://myproject.local

這將允許你通過寫var postURL: "/signup"然後將被視爲http://myproject.local/signup訪問您的網址在您的本地環境或http://myprojectlive.com/signup您的現場環境。

這樣可以爲您節省很多配置和編碼的麻煩。

1

當項目啓動時,本地主機URL絕對不會起作用。

你應該做的是有一個構建過程,在開發過程中使用本地主機URL,並在網站生效時插入生產URL。

使用的WebPack,例如,你會做這樣的事情在發展:

module.exports = { 
    URL: '"http://127.0.0.1"' 
} 

而這個生產:

module.exports = merge(devEnv, { 
    URL: '"http://example.com"' 
}) 

然後你再導入變量,可能分配它更簡潔和描述如下:

const baseUrl = process.env.URL 

做完這個,你可以現在使用變量在任何地方通過連接將請求連接起來,例如,像這樣的子目錄:

`${baseUrl}/projects/PROJECT_NAME/web/app_dev.php` 
相關問題