//main.js
require.config({
baseUrl: '../Scripts/lib/',
paths: {
'jquery': 'jquery-2.0.0',
}
});
define(['jquery', '../test1'], function ($, object) {
$(document).ready(function () {
$('#button').bind('click', function () {
object.getsomething();
});
});
});
//
//main1.js
require.config({
baseUrl: '../Scripts/lib/',
paths: {
'jquery': 'jquery-2.0.0',
}
});
define(['jquery', '../test1'], function ($, object) {
$(document).ready(function () {
$('#button').bind('click', function () {
object.getsomething2();
});
});
});
//
//test1.js
define(function () {
return {
getsomething: function(){
$('#button').css({'background-color':'#000'})
},
getsomething2: function(){
$('#button').css({'background-color':'#000'})
}
}
//return shit;
});
//
//Default1.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>
//Default2.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main1.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>
是否必须在每个想要使用jquery的页面中声明require.config?我可以分享在不同的页面中使用main.js吗?我现在有点丢失,我认为它想在所有页面中共享require.config,每个页面应该有自己的js,而requirejs将有助于放置我想要的东西,因为requirejs只能指向具有的js require.config?通过谷歌搜索,仍然无法决定如何在多个页面和脚本上使用,需要一些指导来清除我的想法
更新:1
//main.js
require.config({
baseUrl: '../Scripts/lib/',
paths: {
'jquery': 'jquery-2.0.0',
}
});
});
//
//Scripts/script1.js
define("main",['jquery', '../test1'], function ($, object) {
$(document).ready(function () {
$('#button').bind('click', function () {
object.getsomething();
});
});
//
//Scripts/script2.js
define(['jquery', '../test1'], function ($, object) {
$(document).ready(function () {
$('#button').bind('click', function () {
object.getsomething2();
});
});
//test1.js
define(function () {
return {
getsomething: function(){
$('#button').css({'background-color':'#000'})
},
getsomething2: function(){
$('#button').css({'background-color':'#000'})
}
}
//return shit;
});
//
//Default1.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>
<script src="./Scripts/script1.js">
//Default2.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>
<script src="./Scripts/script2.js">
我再次浏览了每一个教程和页面,并出现类似这样的代码,这样的代码是否正确?但它会遇到错误,除非我从源中删除外部脚本
答案 0 :(得分:2)
RequireJS通常需要在每个使用的页面上进行配置调用。我说通常是因为你有时可以使用默认设置,但更多时候(特别是使用jQuery)你需要设置paths
,shim
等。
首先,我没遇到过我需要两个main.js
文件的情况,我可以问你为什么你的代码示例显示几乎相同的代码?
您不应在define()
内拨打main.js
来电。模块应该存在于他们自己的文件中,而main.js
应该require
他们并调用任何设置代码。
您可能希望browse the documentation again看看我的意思。
如果您需要两个不同的主文件(可能您想在页面上初始化不同的模块),那么使用不同的JS文件来执行此操作。例如page1.js或page2.js require
一组不同的模块。 Main应该用于配置和加载所有页面上的常用模块。 This answer sheds some light on that process
答案 1 :(得分:0)
不,您不必在所有页面中声明require.config。