Javascript 如何将值从node/express应用程序传递到AngularJS控制器
我正在开发一个基于mean.js的应用程序 在我的一个Angular控制器中,我需要“知道”应用程序是在dev、test还是prod中运行 当主机节点应用程序启动时,这将通过Node_ENV环境变量指示,以便Node知道其运行位置Javascript 如何将值从node/express应用程序传递到AngularJS控制器,javascript,angularjs,node.js,mean-stack,meanjs,Javascript,Angularjs,Node.js,Mean Stack,Meanjs,我正在开发一个基于mean.js的应用程序 在我的一个Angular控制器中,我需要“知道”应用程序是在dev、test还是prod中运行 当主机节点应用程序启动时,这将通过Node_ENV环境变量指示,以便Node知道其运行位置 如何将这些知识传递到应用程序的角度部分?如果您在后端有这些知识,为什么不创建一个端点,您可以在AngularJSrun方法中调用它呢。虽然我不知道后端实现的详细信息,但您肯定可以返回一个表示此信息的变量。您可以简单地制作如下内容 app.run(['$rootScop
如何将这些知识传递到应用程序的角度部分?如果您在后端有这些知识,为什么不创建一个端点,您可以在AngularJS
run
方法中调用它呢。虽然我不知道后端实现的详细信息,但您肯定可以返回一个表示此信息的变量。您可以简单地制作如下内容
app.run(['$rootScope', '$http', function ($rootScope, $http) {
$http.get('/yourEndoint').success(function(response) {
$rootScope.whereAmI = response.whereAmI;
});
}]);
其中wereAmI
是您从后端返回并返回此调用的值。如果您将其放置在$rootScope
上,所有其他$scope
将继承此值,因此您将知道应用程序范围内的“您在哪里”
有关运行
功能的更多信息,请查看
运行块在角度上与主方法最接近。跑步
块是启动应用程序需要运行的代码。信息技术
在所有服务都已配置且
喷油器已创建。运行块通常包含以下代码:
难以进行单元测试,因此应单独声明
模块,以便在单元测试中可以忽略它们
在我的例子中,我使用gulp/grunt build任务来选择请求的
config.js
文件(即production.config.js
)。然后,在运行构建任务时,您可以使用类似的方法设置--env=production
或--env=development
变量,然后gulp/grunt任务使用该变量获取请求的配置文件
然后,您的实际配置文件将只是一个带有应用程序设置的
角度.constant(…)
组件。非常感谢您的建议!我选择了另一个作为答案,因为它更符合我流程中的其他元素(至少现在是这样)