Requirejs 如何正确地包含每页的脚本
我的所有页面都使用许多共享脚本,比如jquery和其他框架 但是有些页面只有一个脚本文件用于该页面。例如:Index.html将有一个相应的Index.js文件 我最初的想法是这样做:Requirejs 如何正确地包含每页的脚本,requirejs,Requirejs,我的所有页面都使用许多共享脚本,比如jquery和其他框架 但是有些页面只有一个脚本文件用于该页面。例如:Index.html将有一个相应的Index.js文件 我最初的想法是这样做: <script data-main="script/includes" src="./script/require.js"></script> <script type="text/javascript" src="./escript/index.js"></scri
<script data-main="script/includes" src="./script/require.js"></script>
<script type="text/javascript" src="./escript/index.js"></script>
但在这种情况下,我认为index.js在require之前加载已经完成了它的工作,所以这对我没有帮助
我想做的是加载所有共享的东西,然后加载页面特定的东西
应该如何做到这一点?您可以将requirejs配置添加到启动或应用程序文件中,如下所示
requirejs.config({
paths: {
"jquery": "jquery-1.10.2",
"jquery-ui": "jquery-ui-1.11.4",
"General": "General",
"knockout": "knockout-3.4.0.debug",
"komapping": "knockout.mapping-latest.debug",
"modernizr": "modernizr-2.8.3",
"respond": "respond",
"underscore": "underscore",
"datatable": "DataTables/jquery.dataTables",
"bootstrap": "bootstrap",
"bootstrap-dialog": "bootstrap-dialog",
"bootstrap-datepicker": "bootstrap-datepicker"
},
shim: {
"jquery.appender": ["jquery"],
"jquery.textReplacer": ["jquery"],
"jquery-ui": {
"deps": ["jquery"],
"exports": "$"
},
"bootstrap-responsive": {
"deps": ["bootstrap", "respond"],
"exports": "bootstrap-responsive"
},
"komapping": {
"deps": ["knockout"],
"exports": "komapping"
},
"bootstrap": {
"deps": ["jquery"],
"exports": "bootstrap"
},
"bootstrap-dialog": {
"deps": ["bootstrap", "jquery"],
"exports": "bootstrap-dialog"
}
}
});
您可以创建单独的文件并在requirejs之后包含,如下所示
<script src="./Scripts/app.js"></script>
define(['jquery', 'knockout', 'pagespecific path', "knockout-delegatedEvents"],
function ($, ko, viewmodel,koevent) {
$(function () {
});
});