Frage

I have an EmberJs application along with requireJs, after optimisations I want to replace requirejs library with AlmondJs But I always get this error

Cannot find module handlebars.

Does anybody know what it could be?

Here is my build file

({
appDir: "../",
baseUrl: ".",
dir: '../../www',
modules: [
    {
        name: "app/main"
    }
],
inlineText: false,
//removeCombined: true,
preserveLicenseComments: false,
insertRequire: ['app/main'],
wrap:true,
paths: {
    jquery: 'js/libs/jquery-1.9.1',
    jquerycookies: 'js/libs/jquery.cookie',
    //jqueryhotkeys: 'js/libs/jquery.hotkeys',
    //  jquerytouchSwipe: 'js/libs/jquery.touchSwipe.min',
    //  jqueryui: 'js/libs/jquery-ui.custom.min',
    // jqueryUiWidget: 'js/libs/jquery.ui.widget',
    //jqueryDropzone: 'js/libs/jquery.fileupload',
    jqueryJcrop: 'js/libs/jquery.Jcrop.min',
    highcharts: 'js/libs/highcharts',
    fastClick: 'js/libs/ember-fastclick',
    emberAnalytics: 'js/libs/ember-analytics',
    // fullCalendar: 'js/libs/fullcalendar.min',
    responsiveTables: 'js/libs/responsive-tables',
    lazyload: 'js/libs/jquery.lazyload.min',
    handlebars: 'js/libs/handlebars',
    ember: 'js/libs/ember',
    //  ember_data: 'js/libs/ember-data.min',
    ember_animate: 'js/libs/ember-animated-outlet',
    // ember_I18n: 'js/libs/i18n',
    foundation: 'js/foundation/foundation',
    foundationReveal: 'js/foundation/foundation.reveal',
    foundationDropdown: 'js/foundation/foundation.dropdown',
    foundationForms: 'js/foundation/foundation.forms',
    foundationJoyride: 'js/libs/intro',
    //    ckeditorcore: 'js/ckeditor/ckeditor',
    //  ckeditorjquery: 'js/ckeditor/adapters/jquery',
    datePicker: 'js/plugins/jquery.simple-dtpicker'
},
shim: {
    'ember': {
        deps: ['jquery','handlebars'],
        exports: 'Ember'
    },
    'fastClick': {
        deps: ['ember'],
        exports: 'fastClick'
    },
    'emberAnalytics': {
        deps: ['ember'],
        exports: 'emberAnalytics'
    },
    'ember_animate': {
        deps: ['ember'],
        exports: 'Animate'
    },
    'jqueryJcrop': {
        deps: ['jquery']
    },
    'jquerycookies': {
        deps: ['jquery'],
        exports: 'jQueryCookies'
    },
    'jqueryDropzone': {
        deps: ['jquery'],
        exports: 'jqueryDropzone'
    },
    'foundationJoyride': {
        exports: 'foundationJoyride'
    },
    'datePicker': {
        deps: ['jquery'],
        exports: 'datePicker'
    },
    'highcharts': {
        deps: ['jquery'],
        exports: 'highcharts'
    },
    'responsiveTables': {
        deps: ['jquery'],
        exports: 'responsiveTables'
    },
    'lazyload': {
        deps: ['jquery'],
        exports: 'lazyload'
    },
    'foundation': {
        deps: ['jquery'],
        exports: 'foundation'
    },
    'foundationReveal': {
        deps: ['jquery', 'foundation'],
        exports: 'foundation'
    },
    'foundationDropdown': {
        deps: ['jquery', 'foundation', 'foundationForms'],
        exports: 'foundation'
    },
    'foundationForms': {
        deps: ['jquery', 'foundation'],
        exports: 'foundation'
    }
},
waitSeconds: 60
})
War es hilfreich?

Lösung

after changing my buid file to

baseUrl: '../',
name: 'js/libs/almond',
include: ['app/main'],
insertRequire: ['app/main'],
out: '../../www/app/main.js',
//wrap: true,

and removing wrap:true option its working probbaly

Thanks

Andere Tipps

I had the same problem with Handlebars 1.3.0. I was using mimosa.io as my build system.

Wrapping all of handlebars.js with,

(function(){

  // Insert existing hb.js code here //

  this.Handlebars = Handlebars;
}).call(this);

fixed it!

Thanks for the hint - @c4p

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top