【问题标题】:How to implement requirejs in master and child page.?如何在主页面和子页面中实现requirejs。?
【发布时间】:2016-06-21 05:10:56
【问题描述】:

我在 .net 框架中有一个母版页,我在其中使用了require.js,如下所示。

 <script data-main="../../Scripts/Shared/_MaintenanceTemplateApp" src="../../Scripts/require.js"></script>

_MaintenanceTemplateApp.js 我有requirejs.config({}); 在这个我用过"baseUrl""Path" 和'"shim"' 然后下面的代码就在那里。

requirejs(["jquery/jquery", "Shared/_MaintenanceTemplateMain", "jquery/jquery-ui", 
"jquery/jquery-ui-layout", "jquery/jquery-ui-blockui", "jquery/jquery.multiselect",

现在我在一个 aspx 页面中使用这个母版页作为MasterPageFile="~/Views/Shared/_MaintenanceTemplate.Master",在这个 aspx 中我有一些外部 js 文件。执行此操作时,我收到$ is undefine 之类的错误。

【问题讨论】:

    标签: javascript jquery .net requirejs


    【解决方案1】:

    你可以在主js中定义你所有的js,即"_MaintenanceTemplateApp.js",然后你就可以在我们的单独页面中使用了。

    requirejs.config({
        baseUrl: 'js/lib',
        paths: {
            // path od your js which you want to use in your individual file.
            jquery: 'jquery-1.9.0'
        }
    });
    

    或者您可以在您的个人 js 中使用 "define"

    define(['jquery'], function ($) {...});
    

    使用 require() 与 define()

    我们可以同时使用 require()define() 来加载依赖项。了解这两个函数之间的区别对于管理依赖关系至关重要。 require() 函数用于运行即时功能,而 define() 用于定义在多个位置使用的模块。主要在主 js 中使用 require()。但是,其他文件是可重用的模块,因此使用 define()。

    这个页面有很好的例子和解释:

    https://www.sitepoint.com/understanding-requirejs-for-effective-javascript-module-loading/

    【讨论】:

    • 母版页继承自多个页面,每个页面都有自己的js。所以,第一个选项没有用。你能详细解释一下我如何使用“定义”吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    相关资源
    最近更新 更多