通过 require js 加载模块的正确方法是什么?
我是 Require js 的新手,我使用它来加载我的应用程序所需的不同 js 模块。我使用嵌入式 JS ( EJS ) 作为模板。下面是我的代码:
require.config({
baseUrl: _URL+"/resources/",
paths:
{
moment: "js/moment.min",
ejs : "js/ejs",
social_login : "public/social_login",
location : "js/location"
},
shim:
{
ejs:
{
exports: 'ejs',
deps: ['moment']
},
social_login:
{
exports: 'social_login',
deps: ['moment','ejs']
},
location:
{
exports: 'location',
deps: ['moment','ejs','social_login']
}
},
waitSeconds: 20
});
require(["moment","ejs","social_login","location"],function()
{
callback("OK");
});
有时所有模块都正确加载并运行,但是当我重复按 Ctrl + F5 或 F5 时,它会给我 ejs 和其他模块的脚本错误,如 Firebug 控制台中所示它给出:
我浏览了这个链接。 link1这表示运行脚本时存在 JavaScript 语法错误或其他执行问题。
加载 ejs 或任何模块的正确方法是什么?我已经下载了它的最新版本,是否有任何与 EJS 未遵循的 AMD 模块相关的内容?我很空白,请帮忙。谢谢
最佳答案
加载超时意味着脚本未加载。检查“网络”选项卡上是否有 404 错误,并查看请求路径是否正确。相应地调整您的路径。
此外,不要使用缩小版本的库。这使得它们很难调试。 RequireJS 有自己的优化器,您可以在开发后插入生产时使用它。它将把所有需要的文件压缩到一个文件中。
此外,您应该使用前端包管理器,例如 Bower 。这样,您就不会手动复制粘贴库,并防止因不正确的复制粘贴而导致语法错误。我个人使用Webapp Generator为我构建应用程序,这样我就不会复制粘贴库。
关于javascript - 使用 Require JS 加载 js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842859/