在 Vue 中支持 2 个基数 URL

Support 2 base URL's in Vue

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

也许可以在 vue 路由器中使用别名来做到这一点。但是这并没有解决vue资源的API调用问题。这意味着我必须为每个页面创建 2 个路径。

首先,请注意,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 上下文中使用它。