当我将ember更新为2.0.0时,现在正在抱怨以下View。问题是我的代码中没有应用程序路径的view.js文件。我该如何解决这个问题?
define('my-app/views/application', ['exports', 'ember'], function (exports, Ember) {
'use strict';
exports['default'] = Ember['default'].View.extend({});
});
堆栈跟踪:
未捕获的TypeError:无法读取属性'extend' undefined(匿名函数)@ application.js:5mod.state @ loader.js:141tryFinally @ loader.js:22requireModule @ loader.js:139Ember.DefaultResolver.extend._extractDefaultExport @ ember-resolver.js:390resolveOther @ ember-resolver.js:122superWrapper @ ember.debug.js:21068exports.default._emberRuntimeSystemObject.default.extend.resolveView @ ember.debug.js:4891exports.default._emberRuntimeSystemObject.default.extend.resolve @ ember.debug.js:4749resolve @ ember.debug.js:4486resolve @ ember.debug.js:2152Registry.resolve @ ember.debug.js:1720factoryFor @ ember.debug.js:1370Container.lookupFactory @ ember.debug.js:1285initialize @ key-responder.js:36(匿名 函数)@ ember.debug.js:4168(匿名函数)@ ember.debug.js:4184visit @ ember.debug.js:2194DAG.topsort @ ember.debug.js:2305_emberRuntimeSystemNamespace.default.extend._runInitializer @ ember.debug.js:4183_emberRuntimeSystemNamespace.default.extend.runInstanceInitializers @ ember.debug.js:4166_emberRuntimeSystemNamespace.default.extend.didBecomeReady @ ember.debug.js:4198Queue.invoke @ ember.debug.js:978Queue.flush @ ember.debug.js:1042DeferredActionQueues.flush @ ember.debug.js:838Backburner.end @ ember.debug.js:166Backburner.run @ ember.debug.js:288Backburner.join @ ember.debug.js:323run.join @ ember.debug.js:19078(匿名函数)@ ember.debug.js:19141fire @ jquery.js:3099self.fireWith @jquery.js:3211jQuery.extend.ready @ jquery.js:3417completed @ jquery.js:3433
非常奇怪,我添加了一个包含以下内容的pods/application/view.js
文件。
import Ember from 'ember';
export default Ember.Component.extend();
现在的ember似乎正在使用它而不是为我创建Ember.View
。
答案 0 :(得分:0)
编译后的输出看起来像app/views/application.js
中的文件包含:
import Ember from 'ember';
export default Ember.View.extend({});
您的广告连播视图/组件变通方法会覆盖此文件,但Ember 2.x应用中不应出现这种情况(除非您使用的是ember-legacy-views)。最好的解决方案是删除这两个文件。