我有一个问题,包括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>
在头脑中,一切顺利。
此致 锤
答案 0 :(得分:1)
最近我在使用浏览器中的ejs时遇到了类似的麻烦。我发布答案,因为它可以节省一些人的时间。
我建议你仔细检查你的ejs库确实来自https://github.com/visionmedia/ejs。现在有很多调整版的ejs因为它变得非常受欢迎。不幸的是,大多数版本都针对特定需求并将不同的对象返回到窗口(例如EJS而不是ejs),或者甚至不返回任何对requirejs有用的东西。
=&GT;在这两种情况下,这都会导致您的垫片导出返回undefined
的原因。
一旦你正确加载它,我也可以在https://github.com/whitcomb/requirejs-ejs找到一个很棒的requirejs-ejs插件。它可以帮助您以一种很好的requirejs方式预加载和渲染模板。