ember-cli配置/环境中的Javascript对象

时间:2014-09-24 10:13:29

标签: javascript ember.js ember-cli

在我的配置/环境文件中,我想要包含一个Date对象。

执行以下操作:

module.exports = function(environment){
  var ENV = {
    ...     
    APP: {
      someDate = new Date(2014, 12, 25, 22, 0, 0, 0),
      ....
    }
    ....
  };
  ...
};

通过以下方式访问它:

import ENV from 'my-app/config/environment';

...

var isDate = ENV.APP.someDate instanceof Date; //false
var isDateFromWin = window.MyAppENV.APP.someDate instanceof Date; //false

从配置对象中提取的结果是字符串类型,而不是日期对象。环境文件中的设置是否始终作为字符串返回?如何从配置文件中返回日期(或其他POJO)?

此外,该文件似乎忽略了我的.jshintrc文件,并且无法按Access window object in ember-cli environment

访问window对象

2 个答案:

答案 0 :(得分:1)

您在执行以下操作时出现错误"例如,它应该是:

...     
APP: {
  someDate: new Date(2014, 12, 25, 22, 0, 0, 0),
  ...
}
...

此外,您应该像以下一样访问它:

date = MyAppENV.APP.someDate; // replace with name of your entry point

或:

import Ember from 'ember';
date = Ember.ENV.APP.someDate;

答案 1 :(得分:0)

所有环境配置值在呈现到结果 index.html 中的<meta>标记之前都会被编码。您可以在 dist / index.html 中查看生成的环境配置,看看它的样子。

这意味着当您在js中导入环境配置时,您将获得已解码的字符串。这就是你放弃类型约会的原因。

如果您需要传递日期,我建议将时间戳设置为您的环境配置