2015-01-05 9 views
6

संपादित करें:Handlebars मुद्दा जब एंबर उन्नयन 1.9.1

मैं अपने अनुप्रयोग में एक और पृष्ठ पर जाकर की कोशिश की, और मैं बजाय यह त्रुटि मिलती समापन: Uncaught Error: Assertion Failed: TypeError: Cannot read property 'Mixin' of undefined। मैंने कोड की इस पंक्ति पर इसका पता लगाया: __exports__["default"] = DS.Model.extend(Ember.Validations.Mixin, {, जो एम्बर मान्यताओं का उपयोग करता है। मुझे संदेह है कि यह वह जगह है जहां समस्या आती है। हैंडलबार्स को अपग्रेड करते समय किसी को एम्बर मान्यताओं के साथ कोई समस्या है?

मूल पोस्ट:

मैं 1.9.1 करने के लिए एंबर उन्नयन कुछ समस्याएं आ रही हैं। विशेष रूप से, मेरा मानना ​​है कि यह मेरे टेम्पलेट को ऐसे तरीके से संकलित नहीं कर रहा है जो हैंडलबार्स 2.0 के साथ संगत है। मैंने इकट्ठा किया है यह एक आम समस्या है, लेकिन काम करने वाला एकमात्र समाधान 1.9.1 के बजाय एम्बर कैनरी का उपयोग कर रहा था। चूंकि यह कोई विकल्प नहीं है, इसलिए मुझे अपने अपग्रेड किए गए ऐप के साथ हैंडलबार्स 2.0 को अच्छा बनाने का तरीका ढूंढना होगा। handlebars.js के इस भाग में Uncaught Error: Unknown template object: function:

जब मैं अपने आवेदन चलाने के लिए, मेरे कंसोल त्रुटि दिखाता है

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

मैं अपने आवेदन पहले स्विचिंग द्वारा एंबर CLI 0.1.5 के लिए 0.1.2 से का उपयोग करके अपग्रेड एम्बर सीएलआई साइट पर these instructions। मैंने एम्बर संस्करण को अपने bower.js में 1.9.1 में बदलकर एम्बर संस्करण को 1.9.1 में अपग्रेड करने का प्रयास किया, फिर आधिकारिक एम्बर साइट पर these instructions का पालन किया। यह काम नहीं किया, इसलिए मैंने 1.9.1 के बजाय एम्बर कैनरी का उपयोग करने की कोशिश की, और यह ठीक काम किया।

यहाँ मेरी package.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" 
    } 
} 

कोई भी विचार:

{ 
    "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" 
    } 
} 

यहाँ मेरी bower.js है? StackOverflow प्रश्न मैं याद किया हो सकता है?

उत्तर

2

आज मुझे आपके जैसा ही समस्या है, मैं एम्बर-क्ली 1.8.1 से 1.9.1 तक माइग्रेट करना चाहता था।

मैंने इन निर्देशों का पालन करके इसे हल किया: http://emberjs.com/blog/2014/10/16/handlebars-update.html। चौथे और 5 वें चरणों का पालन करने के बजाय, आप 'बॉवर इंस्टॉल' कमांड को निष्पादित करने से पहले सीधे bower.json फ़ाइल में एम्बर और हैंडलबार के संस्करण को सीधे बदल सकते हैं। मैंने यही किया है।

और मेरे प्रोजेक्ट एम्बर-क्ली 0.1.5, एम्बर 1.9.1 और हैंडलबार्स 2.0.0 के साथ काम करते हैं।

शायद आप अपडेट प्रक्रिया में कुछ चूक गए हैं।

+0

यह संभव है। मैंने आपके द्वारा पोस्ट की गई मार्गदर्शिका का पालन करने का प्रयास किया, और मुझे अभी भी वह त्रुटि मिल रही है। मैंने दोनों 'node_modules' और' bower_components' फ़ोल्डरों को हटा दिया, HTMLbars पैकेज को सहेजा, हैंडलबार 2.0 और एम्बर 1.9.1 को bower.json में जोड़ा, 'npm install' और 'bower install' चलाया, और मुझे अभी भी समस्याएं आ रही हैं। शायद मेरे पास निर्भरता है जो संगत नहीं है?या शायद मेरे टेम्पलेट्स में कुछ बहिष्कृत है। – NJP

+0

क्या आप एक नई परियोजना के साथ प्रयास कर सकते हैं? मैंने यही किया है और यह काम करता है। यदि आपके पास एम्बर-क्ली 0.1.5 है, तो यह एम्बर 1.8.1, हैंडलबार्स 1.3.0 और एम्बर-डेटा 1.00-बीटा 12 का उपयोग करेगा। आपके द्वारा पोस्ट की गई मार्गदर्शिका के साथ माइग्रेशन करने के बाद। कल मैं एक बड़ी परियोजना के साथ माइग्रेशन करूँगा। –

+0

अन्य बात: मुझे 'बॉवर इंस्टॉल' से पहले 'npm इंस्टॉल' निष्पादित करने की आवश्यकता नहीं थी। –

2

अपने मूल पोस्ट में समस्या के लिए:

मैं तुम्हें रूप में एक ही समस्या थी। मेरे लिए ऐसा लगता है कि समस्या मेरी निर्भरताओं में से एक थी, मेरे मामले में एम्बर-क्ली-बूटस्ट्रैप-एसएएस। जब मैंने एक एनपीएम अनइंस्टॉल किया एम्बर-क्ली-बूटस्ट्रैप-एसएएस - सेव-देव (और मेरा @import "बूटस्ट्रैप" हटा दिया;) मैंने त्रुटि से छुटकारा पा लिया। तो आपके द्वारा उपयोग की जाने वाली निर्भरता में कुछ असंगत हो सकता है जैसा कि आप कहते हैं

संबंधित मुद्दे