javascript - 使用 Require JS 加载 js 文件

标签 javascript requirejs dependency-management

通过 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 + F5F5 时,它会给我 ejs 和其他模块的脚本错误,如 Firebug 控制台中所示它给出:

enter image description here

我浏览了这个链接。 link1这表示运行脚本时存在 JavaScript 语法错误或其他执行问题。
加载 ejs 或任何模块的正确方法是什么?我已经下载了它的最新版本,是否有任何与 EJS 未遵循的 AMD 模块相关的内容?我很空白,请帮忙。谢谢

最佳答案

加载超时意味着脚本未加载。检查“网络”选项卡上是否有 404 错误,并查看请求路径是否正确。相应地调整您的路径。

此外,不要使用缩小版本的库。这使得它们很难调试。 RequireJS 有自己的优化器,您可以在开发后插入生产时使用它。它将把所有需要的文件压缩到一个文件中。

此外,您应该使用前端包管理器,例如 Bower 。这样,您就不会手动复制粘贴库,并防止因不正确的复制粘贴而导致语法错误。我个人使用Webapp Generator为我构建应用程序,这样我就不会复制粘贴库。

关于javascript - 使用 Require JS 加载 js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842859/

相关文章:

javascript - 停止将窗口大小调整到 768px 以下

javascript - 如何使用正则表达式获取字符串的一部分并更改它

javascript - 使用backbone js加载模板

javascript - 从 RequireJS 的 r.js 优化中排除任意文件并异步加载它们

c++ - 为什么 CMake 无法识别库,尽管它已由 'include_directories' 添加?

javascript - 返回数据后如何在 AngularJs 中链接多个方法

javascript - Bluebird promise : error is not a function

javascript - RequireJS 模块从 API 服务器接收 JSON,返回未定义?

java - 三个maven项目A依赖B,B依赖C,如何让C在编译时对A不可见?

java - IntelliJ : How to make Maven project use only the dependencies show in pom. xml 文件