错误 'moment' 未在 ember.js 中定义 no-undef
error 'moment' is not defined no-undef in ember.js
我正在创建一个应用程序,一个带时区的时钟,正好它给出了这个错误,我无法修复它,我也是一个发起者,我没有太多经验,主页出现在哪里chosen时钟是,但是时区所在的页面是空白的,我正在等待帮助,谢谢!
- ember-cli: 2.13.1
- 节点:6.0.0
- os: linux x64
`无法启动守望者
访问 https://ember-cli.com/user-guide/#watchman 了解更多信息。
http://localhost:49153 上的 Livereload 服务器
'instrument' 是从外部模块 'ember-data/-debug' 导入的,但是
从未使用过
app/controllers/clock.js
14:36 error 'moment' is not defined no-undef
18:27 error 'moment' is not defined no-undef
25:15 error 'moment' is not defined no-undef
✖ 3 problems (3 errors, 0 warnings)
app/controllers/timezones.js
7:23 error 'moment' is not defined no-undef
9:19 error 'moment' is not defined no-undef
10:21 error 'moment' is not defined no-undef
✖ 3 problems (3 errors, 0 warnings)
Build successful (4919ms) – Serving on http://localhost:4200/
Slowest Nodes (totalTime => 5% ) | Total (avg)
----------------------------------------------+---------------------
Babel (17) | 1460ms (85 ms)
Rollup (1) | 1214ms
EslintValidationFilter (2) | 835ms (417 ms)
Concat (8) | 585ms (73 ms)
TreeMerger (allTrees) (1) | 312ms`
app/controllers/timezones.js
import Ember from 'ember';
export default Ember.Controller.extend({
/* create array of timezones with name & offset */
init: function() {
var timezones = [];
for (var i in moment.tz._zones) {
timezones.push({
name: moment.tz._zones[i].name,
offset: moment.tz._zones[i].offsets[0]
});
}
this.set('timezones', timezones);
this._super();
},
selectedTimezone: null,
actions: {
/* save a timezone record to our offline datastore */
add: function() {
var timezone = this.store.createRecord('timezone', {
name: this.get('selectedTimezone').name,
offset: this.get('selectedTimezone').offset
});
timezone.save();
},
/* delete a timezone record from our offline datastore */
remove: function(timezone) {
timezone.destroyRecord();
}
}
});
app/controllers/clock.js
import Ember from 'ember';
export default Ember.Controller.extend({
init: function() {
// Update the time.
this.updateTime();
},
updateTime: function() {
var _this = this;
// Update the time every second.
Ember.run.later(function() {
_this.set('localTime', moment().format('h:mm:ss a'));
_this.get('model').forEach(function(model) {
model.set('time',
moment().tz(model.get('name')).format('h:mm:ss
a'));
});
_this.updateTime();
}, 1000);
},
localTime: moment().format('h:mm:ss a')
});
app/model/timezone.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
offset: DS.attr('number')
});
app/routes/clock.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.get('store').findAll('timezone');
}
});
app/routes/timezones.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.get('store').findAll('timezone');
}
});
如果您需要更多文件,请说
你得到那些错误,因为你使用了一个全局的 ES Lint 并不知道。正如@locks 在评论中所说,您需要 add moment
作为 ES Lint 配置的全局:
{
"globals": {
"moment": true
}
}
或者您可以在您的文件中指定全局作为注释:
app/controllers/clock.js
import Ember from 'ember';
/* global moment */
export default Ember.Controller.extend({
//your code
});
如果您碰巧使用 ember-moment or ember-cli-moment-shim,您可以只导入 moment global:
app/controllers/clock.js
import Ember from 'ember';
import moment from 'moment';
export default Ember.Controller.extend({
//your code
});
我正在创建一个应用程序,一个带时区的时钟,正好它给出了这个错误,我无法修复它,我也是一个发起者,我没有太多经验,主页出现在哪里chosen时钟是,但是时区所在的页面是空白的,我正在等待帮助,谢谢!
- ember-cli: 2.13.1
- 节点:6.0.0
- os: linux x64
`无法启动守望者
访问 https://ember-cli.com/user-guide/#watchman 了解更多信息。
http://localhost:49153 上的 Livereload 服务器
'instrument' 是从外部模块 'ember-data/-debug' 导入的,但是
从未使用过
app/controllers/clock.js
14:36 error 'moment' is not defined no-undef
18:27 error 'moment' is not defined no-undef
25:15 error 'moment' is not defined no-undef
✖ 3 problems (3 errors, 0 warnings)
app/controllers/timezones.js
7:23 error 'moment' is not defined no-undef
9:19 error 'moment' is not defined no-undef
10:21 error 'moment' is not defined no-undef
✖ 3 problems (3 errors, 0 warnings)
Build successful (4919ms) – Serving on http://localhost:4200/
Slowest Nodes (totalTime => 5% ) | Total (avg)
----------------------------------------------+---------------------
Babel (17) | 1460ms (85 ms)
Rollup (1) | 1214ms
EslintValidationFilter (2) | 835ms (417 ms)
Concat (8) | 585ms (73 ms)
TreeMerger (allTrees) (1) | 312ms`
app/controllers/timezones.js
import Ember from 'ember';
export default Ember.Controller.extend({
/* create array of timezones with name & offset */
init: function() {
var timezones = [];
for (var i in moment.tz._zones) {
timezones.push({
name: moment.tz._zones[i].name,
offset: moment.tz._zones[i].offsets[0]
});
}
this.set('timezones', timezones);
this._super();
},
selectedTimezone: null,
actions: {
/* save a timezone record to our offline datastore */
add: function() {
var timezone = this.store.createRecord('timezone', {
name: this.get('selectedTimezone').name,
offset: this.get('selectedTimezone').offset
});
timezone.save();
},
/* delete a timezone record from our offline datastore */
remove: function(timezone) {
timezone.destroyRecord();
}
}
});
app/controllers/clock.js
import Ember from 'ember';
export default Ember.Controller.extend({
init: function() {
// Update the time.
this.updateTime();
},
updateTime: function() {
var _this = this;
// Update the time every second.
Ember.run.later(function() {
_this.set('localTime', moment().format('h:mm:ss a'));
_this.get('model').forEach(function(model) {
model.set('time',
moment().tz(model.get('name')).format('h:mm:ss
a'));
});
_this.updateTime();
}, 1000);
},
localTime: moment().format('h:mm:ss a')
});
app/model/timezone.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
offset: DS.attr('number')
});
app/routes/clock.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.get('store').findAll('timezone');
}
});
app/routes/timezones.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.get('store').findAll('timezone');
}
});
如果您需要更多文件,请说
你得到那些错误,因为你使用了一个全局的 ES Lint 并不知道。正如@locks 在评论中所说,您需要 add moment
作为 ES Lint 配置的全局:
{
"globals": {
"moment": true
}
}
或者您可以在您的文件中指定全局作为注释:
app/controllers/clock.js
import Ember from 'ember';
/* global moment */
export default Ember.Controller.extend({
//your code
});
如果您碰巧使用 ember-moment or ember-cli-moment-shim,您可以只导入 moment global:
app/controllers/clock.js
import Ember from 'ember';
import moment from 'moment';
export default Ember.Controller.extend({
//your code
});