Search code examples
ember.jsrequirejshandlebars.jsamdalmond

Changing RequireJs to AlmondsJs


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
})

Solution

  • 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