2015-01-05 9 views
6

Edit:problema Manubrio l'aggiornamento Ember 1.9.1

Ho provato ad andare a un'altra pagina nella mia app, e mi liquidazione ottenere questo errore invece: Uncaught Error: Assertion Failed: TypeError: Cannot read property 'Mixin' of undefined. L'ho tracciato a questa riga di codice: __exports__["default"] = DS.Model.extend(Ember.Validations.Mixin, {, che utilizza le convalide di Ember. Sospetto che sia da lì che viene il problema. Qualcuno ha avuto problemi con Ember Validations durante l'aggiornamento di Handlebars?

Original post:

sto avendo qualche problema l'aggiornamento Ember a 1.9.1. In particolare, credo che non stia compilando i miei modelli in modo tale che sia compatibile con Handlebars 2.0. Ho capito che questo è un problema comune, ma l'unica soluzione che ha funzionato è stata l'utilizzo del canarino Ember piuttosto che 1.9.1. Dal momento che non è un'opzione, ho bisogno di trovare un modo per far funzionare correttamente Handlebars 2.0 con la mia app aggiornata.

Quando eseguo la mia applicazione, la mia console mostra l'errore: Uncaught Error: Unknown template object: function a questa porzione di handlebars.js:

if (!templateSpec || !templateSpec.main) { 
    throw new Exception('Unknown template object: ' + typeof templateSpec); 
} 

ho aggiornato il mio applicazione prima di commutazione per Ember CLI 0.1.5 da 0.1.2 utilizzando these instructions nel sito CLI di Ember. Ho quindi provato ad aggiornare Ember alla versione 1.9.1 modificando prima la versione di Ember nel mio bower.js in 1.9.1, quindi seguendo these instructions nel sito ufficiale di Ember. Non ha funzionato, quindi ho provato ad usare il canarino Ember invece di 1.9.1, e questo ha funzionato bene.

Ecco il mio package.js:

{ 
    "name": "appName", 
    "version": "0.0.0", 
    "private": true, 
    "directories": { 
    "doc": "doc", 
    "test": "tests" 
    }, 
    "scripts": { 
    "start": "ember server", 
    "build": "ember build", 
    "test": "ember test" 
    }, 
    "repository": "https://github.com/stefanpenner/ember-cli", 
    "engines": { 
    "node": ">= 0.10.0" 
    }, 
    "author": "", 
    "license": "MIT", 
    "devDependencies": { 
    "body-parser": "^1.2.0", 
    "broccoli-asset-rev": "^2.0.0", 
    "broccoli-merge-trees": "^0.1.4", 
    "broccoli-sass": "^0.2.1", 
    "broccoli-static-compiler": "^0.1.4", 
    "ember-cli": "0.1.5", 
    "ember-cli-content-security-policy": "0.3.0", 
    "ember-cli-dependency-checker": "0.0.7", 
    "ember-cli-esnext": "0.1.1", 
    "ember-cli-htmlbars": "^0.6.0", 
    "ember-cli-ic-ajax": "0.1.1", 
    "ember-cli-inject-live-reload": "^1.3.0", 
    "ember-cli-qunit": "0.1.2", 
    "ember-cli-simple-auth": "^0.6.7", 
    "ember-cli-simple-auth-oauth2": "^0.6.7", 
    "ember-cli-spinkit": "0.0.1", 
    "ember-data": "1.0.0-beta.11", 
    "ember-export-application-global": "^1.0.0", 
    "express": "^4.8.5", 
    "glob": "^4.0.5" 
    } 
} 

Ecco il mio bower.js:

{ 
    "name": "appName", 
    "dependencies": { 
    "handlebars": "2.0.0", 
    "jquery": "^1.11.1", 
    "ember": "1.9.1", 
    "ember-data": "1.0.0-beta.12", 
    "ember-resolver": "~0.1.11", 
    "loader.js": "stefanpenner/loader.js#1.0.1", 
    "ember-cli-shims": "stefanpenner/ember-cli-shims#0.0.3", 
    "ember-cli-test-loader": "rwjblue/ember-cli-test-loader#0.0.4", 
    "ember-load-initializers": "stefanpenner/ember-load-initializers#0.0.2", 
    "ember-qunit": "0.1.8", 
    "ember-qunit-notifications": "0.0.4", 
    "qunit": "~1.15.0", 
    "ember-simple-auth": "0.6.7", 
    "bootstrap-sass-official": "~3.3.1", 
    "ember-validations": "http://builds.dockyard.com.s3.amazonaws.com/ember-validations/ember-validations-latest.js" 
    } 
} 

Tutte le idee? Domande StackOverflow Potrei aver perso?

risposta

2

Oggi ho lo stesso problema di te, ho voluto migrare da ember-cli 1.8.1 a 1.9.1.

Ho risolto seguendo queste istruzioni: http://emberjs.com/blog/2014/10/16/handlebars-update.html. Invece di seguire il 4 ° e il 5 ° passaggio, è possibile modificare direttamente la versione di ember e manubri direttamente nel file bower.json prima di eseguire il comando 'bower install'. Questo è quello che ho fatto.

E i miei progetti funzionano con ember-cli 0.1.5, ember 1.9.1 e manubri 2.0.0.

Forse ti sei perso qualcosa nel processo di aggiornamento.

+0

E 'possibile. Ho provato a seguire la guida che hai pubblicato e sto ancora ricevendo quell'errore. Ho eliminato entrambe le cartelle 'node_modules' e' bower_components', salvato il pacchetto htmlbars, aggiunto manubri 2.0 e ember 1.9.1 a bower.json, eseguito 'npm install' e' bower install', e ho ancora problemi. Forse ho una dipendenza che non è compatibile?O forse qualcosa nei miei modelli è deprecato. – NJP

+0

Puoi provare con un nuovo progetto? Questo è quello che ho fatto e funziona. Se hai ember-cli 0.1.5, userà ember 1.8.1, manubri 1.3.0 e ember-data 1.00-beta12. Dopo puoi eseguire la migrazione con la guida che ho pubblicato. Domani eseguirò la migrazione con un progetto più grande. –

+0

Altra cosa: non ho dovuto eseguire 'npm install' prima di 'bower install'. –

2

Per il problema nel tuo post originale:

Ho avuto lo stesso problema come voi. Per me sembra che il problema fosse con una delle mie dipendenze, nel mio caso ember-cli-bootstrap-sass. Quando ho eseguito la disinstallazione di npm ember-cli-bootstrap-sass --save-dev (e rimosso il mio @import "bootstrap";) mi sono liberato dell'errore. Quindi qualcosa in una dipendenza che usi potrebbe essere incompatibile come dici tu