1

我有一个 EmberJs 应用程序和 requireJs,优化后我想用 AlmondJs 替换 requirejs 库但我总是收到这个错误

找不到模块把手。

有人知道它可能是什么吗?

这是我的构建文件

({
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
})
4

2 回答 2

0

Handlebars 1.3.0 也有同样的问题。我使用 mimosa.io 作为我的构建系统。

包装所有的handlebars.js,

(function(){

  // Insert existing hb.js code here //

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

解决它!

感谢您的提示- @c4p

于 2014-05-06T12:48:26.377 回答
0

将我的 buid 文件更改为

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

并删除 wrap:true 选项它的工作可能

谢谢

于 2014-01-20T14:17:29.637 回答