我正在进行一个ember项目,我正在尝试将ember版本从2.8升级到3.5.0。但由于我更改了版本以及一些依赖项版本,我得到了以下错误:
错误堆栈
我曾尝试使用ember-cli构建文件修复此问题,但错误仍然存在。
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
const isPublicEnv = EmberApp.env() === 'public';
const app = new EmberApp(defaults, {
'sassOptions': {
includePaths: [
'bower_components/materialize/sass',
],
},
'outputPaths': {
app: {
css: {
design1: '/assets/design1.css',
design2: '/assets/design2.css'
},
},
},
'ember-cli-babel': {
includePolyfill: true,
},
'minifyJS': {
enabled: isPublicEnv,
},
'minifyCSS': {
enabled: isPublicEnv,
},
'fingerprint': {
enabled: isPublicEnv,
},
'tests': !isPublicEnv,
'hinting': !isPublicEnv,
'sourcemaps': {
enabled: !isPublicEnv,
},
});
app.import('vendor/lib1.js');
app.import('vendor/lib2.js');
return app.toTree();
};
有什么解决这个问题的建议吗?
这是从ember-cli htmlbars内联预编译的堆栈跟踪中失败的代码:
templateCompilerPath() {
let config = this.projectConfig();
let templateCompilerPath = config['ember-cli-htmlbars'] && config['ember-cli-htmlbars'].templateCompilerPath;
let ember = this.project.findAddonByName('ember-source');
if (ember) {
return ember.absolutePaths.templateCompiler;
}
return path.resolve(this.project.root, templateCompilerPath);
}
这一行let ember = this.project.findAddonByName('ember-source');
一定是罪魁祸首。尽管Ember在2.11
iirc前后从bower切换到npm,但获得Ember>3.0
的唯一方法是通过npm,因为上一个bower推送版本是2.x
的结束。
我怀疑您使用的是旧版本的ember-cli
,由于找不到ember
,该版本也需要更新。您正在使用哪个版本的ember-cli
?