如何在master和child page中实现requirejs。?

时间:2016-06-21 05:10:57

标签: javascript jquery .net requirejs

我在.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

1 个答案:

答案 0 :(得分:-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()用于定义在多个位置使用的模块。大多数require()用在主js中。但是,其他文件是可重用的模块,因此使用define()。

这个页面有很好的解释说明:

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