在Vue中支持2个基本URL

时间:2017-03-28 17:46:02

标签: vuejs2 vue-router vue-resource

是否可以使用Vue路由器支持2个基本URL, / test / app / app ? http请求还必须使用更新的API调用路径。

也许可以在vue路由器中使用别名来执行此操作。但这并不能解决vue资源的API调用问题。这意味着我必须为每个页面创建2条路径。

1 个答案:

答案 0 :(得分:1)

首先,只是为了让您了解Vue-Resource has been deprecated from official recommendation status,因为他们并不认为Ajax是一种需要与Vue生态系统深度集成的功能。

现在,更大的问题。听起来您正在尝试根据您所处的环境(即本地开发与生产)来使用不同的URL。最简单的方法是转到定义Vue-Resource根URL的文件并添加以下内容:

var isProduction = process.env.NODE_ENV === 'production'
var rootUrl = (isProduction) ? 'http://production.domain/api' : 'http://localhost:8080/api'
Vue.http.options.root = rootUrl;

此代码基本上测试您是否正在生产,如果您正在生产,则将生产域api分配给变量,否则它将分配本地开发域api。

[编辑] 我理所当然地认为您将使用Vue-CLI为您设置此功能。如果您使用NPM启动Vue服务器,那么您可能正在运行npm run dev之类的命令,该命令在package.json中引用此行:

{
// ...
     "scripts": {
         "dev": "node build/dev-server.js",
// ...
}

您可以更改" dev"这样的事情:

{
// ...
     "scripts": {
         "dev": "NODE_ENV=dev node build/dev-server.js",
// ...
}

这将使用您的Node脚本创建NODE_ENV变量,该变量应允许您现在在Vue上下文中使用它。