使用带有requirejs的EJS

时间:2014-06-01 17:23:31

标签: requirejs ejs

我有一个问题,包括ejs到requirejs。我把<script data-main="js/app" src="js/require.js"></script>放在我和身体内部创建了EJS对象。

在我的app.js中,

require.config({

paths: {
    //library
    jquery: 'lib/jquery-1.11.1.min',
    jquerymobile: "lib/jquery.mobile-1.4.2.min", 
    text: 'text',
    ejs: 'ejs_0.9_alpha_1_production'
},
shim: {
    "ejs": {
        exports: 'ejs'
      }
}
});

require(['jquery', 'jquerymobile','text','ejs'], function ($, mobile) {
    console.log('jQuery version:', $.fn.jquery); // 1.9.0
});

当它运行时,抛出EJS未定义错误。但是,如果我包括

<script type="text/javascript" src="js/ejs_0.9_alpha_1_production.js"></script>
在头脑中,一切顺利。

此致 锤

1 个答案:

答案 0 :(得分:1)

最近我在使用浏览器中的ejs时遇到了类似的麻烦。我发布答案,因为它可以节省一些人的时间。

我建议你仔细检查你的ejs库确实来自https://github.com/visionmedia/ejs。现在有很多调整版的ejs因为它变得非常受欢迎。不幸的是,大多数版本都针对特定需求并将不同的对象返回到窗口(例如EJS而不是ejs),或者甚至不返回任何对requirejs有用的东西。

=&GT;在这两种情况下,这都会导致您的垫片导出返回undefined的原因。

一旦你正确加载它,我也可以在https://github.com/whitcomb/requirejs-ejs找到一个很棒的requirejs-ejs插件。它可以帮助您以一种很好的requirejs方式预加载和渲染模板。