ember cli config/environment中的Javascript对象

Javascript objects in ember-cli config/environment

本文关键字:中的 Javascript 对象 environment cli config ember      更新时间:2023-09-26

在我的配置/环境文件中,我希望包含一个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文件,并且无法按照ember-cli环境中的access窗口对象访问window对象

您在"执行以下操作"示例中出现错误,应该是:

...     
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;

所有环境配置值在渲染到结果index.html中的<meta>标记之前都会进行编码。您可以在dist/index.html检查生成的环境配置,并查看其外观。

这意味着当你在js中导入环境配置时,你会得到解码的字符串。这就是为什么你错过了一个类型的约会。

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