有以下代码:
angular.module('app.services', []).factory('authService', ['SIGN_IN_ENDPOINT', 'SIGN_OUT_ENDPOINT', '$http', '$cookieStore', (SIGN_IN_ENDPOINT, SIGN_OUT_ENDPOINT, $http, $cookieStore) ->
auth = {}
auth.signIn = (credentials) ->
return $http.post(SIGN_IN_ENDPOINT, { user: credentials }).then (response, status) ->
$cookieStore.put('user', response.data)
auth.signOut = ->
return $http.delete(SIGN_OUT_ENDPOINT).then (response, status) ->
$cookieStore.remove('user')
auth.currentUser = ->
$cookieStore.get('user')
auth
]).value('SIGN_IN_ENDPOINT', 'http://localhost:3000/users/sign_in').value('SIGN_OUT_ENDPOINT', 'http://localhost:3000/users/sign_out').factory('User', ['$resource', 'USERS_ENDPOINT', ($resource, USERS_ENDPOINT) ->
$resource(USERS_ENDPOINT)
]).value('USERS_ENDPOINT', 'http://localhost:3000/users')
正如您所看到的,我有一些指向我的localhost服务器的链接,但当我将它移动到生产服务器时,它将无法正常工作。我不想硬编码链接,因为生产服务器可能会改变;我只想在此脚本工作时使用链接服务器的当前地址。我该如何更改脚本?提前致谢。
答案 0 :(得分:0)
由于此数据主要与服务器端相关,因此我喜欢将其内联在模块常量或值中。通过这种方式,您可以将其解释为服务器端并注入主应用程序,并且您不必担心计时问题等。
// inline
angular.module('Preload',[]).contstant('BASE_URL','http://localhost.foo');
...
// inject
var app = angular.module('MyApp', ['Preload']);
答案 1 :(得分:-1)
主机文件中可能未配置本地主机。确保以下条目位于/etc/hosts
127.0.0.1 localhost