Ember开发服务器似乎正在测试模式下运行

时间:2019-06-18 21:04:38

标签: ember.js ember-cli

ember serve中注销environment变量时运行config/environment.js时,我看到记录了三个值:

  1. undefined
  2. development
  3. test

(这是在继承的项目中。)

在使用ember new my-app创建的新应用中,我还看到了三个值:

  1. development
  2. test
  3. development

这使我相信我继承的项目正在test模式下运行,而一个新项目正在development模式下运行,就像我期望的那样。

运行ember serve --environment=development不会更改在继承的项目中观察到的行为。

我的问题是,为什么在运行ember serve时会看到记录三个值?如何确定开发环境为什么在test中运行?

1 个答案:

答案 0 :(得分:0)

在配置函数中,调用project.config(environment)的是指示environment参数的原因。如果有任何人在不带参数的情况下调用此函数,那么您将看到undefined

要确定为什么在测试模式下运行,我会尝试在编辑器中抛出调试器语句(如果可能),然后查看用"test"调用它的含义。如果那不可能,请尝试在函数中的某个位置打印调用堆栈:

module.exports = function(environment) {
  ...
  console.log('current environment: ', environment);
  console.log(new Error().stack);
}

您会看到类似的内容:

CURRENT ENVIRONMENT:  development
Error
    at module.exports (.../config/environment.js:73:15)
    at Project.configWithoutCache (.../node_modules/ember-cli/lib/models/project.js:273:47)
    at Project.config (.../node_modules/ember-cli/lib/models/project.js:257:21)
    at Watcher.module.exports [as serveURL] (.../node_modules/ember-cli/lib/utilities/get-serve-url.js:6:24)
    at Watcher.didChange (.../node_modules/ember-cli/lib/models/watcher.js:51:40)
    at Watcher.emit (events.js:187:15)
    at Watcher.triggerChange (.../node_modules/ember-cli-broccoli-sane-watcher/index.js:174:8)
    at tryCatcher (.../node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:323:19)
    at invokeCallback (.../node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:495:31)
    at publish (.../node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:481:7)
    at flush (.../node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:2402:5)
    at process._tickCallback (internal/process/next_tick.js:61:11)

您可以返回工作地点,以了解环境的设置(在本例中为ember-cli)。