我在.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
。
答案 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()用在主js中。但是,其他文件是可重用的模块,因此使用define()。
这个页面有很好的解释说明:
https://www.sitepoint.com/understanding-requirejs-for-effective-javascript-module-loading/