2017-03-28 29 views
0

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

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

回答

1

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

现在,更大的问题。这听起来像你试图根据你所处的环境(即本地开发vs.生产)来使用不同的URL。要做到这一点,最简单的方法是去文件,其中定义您的Vue-资源的根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", 
// ... 
} 

您可以在“开发”行更改为类似这样:

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

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

+0

line process.env在我的main.js文件中返回一个空对象。但是,这是由cross-env命令设置的。 – GroovyP

+0

@Kether Satumius如何使用不同的基础网址,而不是prod或dev。对我来说,登录基地网址与其他网址不同。请建议如何实现这一目标。 – krrr25

+0

@ krrr25您可以根据需要进行自定义,第一个代码块显示如何读取由节点脚本(第3代码块)设置的变量。如果需要的话,你甚至可以设置多个变量。 NODE_ENV = dev设置一个变量,所以你可以复制该模式,然后在主脚本中使用新变量。通过Node进一步阅读环境变量:https://www.twilio.com/blog/2017/08/working-with-environment-variables-in-node-js.html – K3TH3R