我在.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的错误。
发布于 2016-06-22 13:53:58
您可以在主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(['jquery'], function ($) {...});使用require()与()进行比较
我们可以使用require()和define()来加载依赖项。了解这两个函数之间的区别对于管理依赖关系至关重要。require()函数用于运行即时功能,而define()用于定义在多个位置使用的模块。多数情况下,require()在main js中使用。但是,其他文件是可重用的模块,因此使用define()。
这个页面有很好的例子和解释:
https://www.sitepoint.com/understanding-requirejs-for-effective-javascript-module-loading/
https://stackoverflow.com/questions/37936041
复制相似问题