是否可以使用Vue路由器支持2个基本URL, / test / app 和 / app ? http请求还必须使用更新的API调用路径。
也许可以在vue路由器中使用别名来执行此操作。但这并不能解决vue资源的API调用问题。这意味着我必须为每个页面创建2条路径。
答案 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上下文中使用它。