localhost路由在实时环境中工作吗?

时间:2017-07-03 22:08:58

标签: javascript php symfony routes

我在以下路线的localhost上有一个项目:

我目前通过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",

这适用于localhost上的所有文件。

问题:

  • 当这个项目上线时,这些网址是否仍然有效?
  • 是否有更简洁的方法来编写baseUrl,以便在项目投入使用时不需要更改?

道歉,如果这是一个明显的,但我目前只在localhost上工作。欢迎任何建议。 Symfony 3应用程序,XAMPP服务器,OSX。

编辑:

使用$ .ajax向服务器发帖。

2 个答案:

答案 0 :(得分: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或在您的实际环境中wikipedia来访问您的网址。

这样你就可以节省很多配置和编码麻烦。

答案 1 :(得分:1)

当项目上线时,localhost URL绝对不起作用。

您应该做的是在构建过程中使用开发中的localhost 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`