Require.js加載每個頁面上的每個模塊,因此我在不需要加載腳本的頁面上收到JavaScript錯誤。具體來說,news-filter.js正在加載我的搜索頁面,導致錯誤: jquery-1.12.3.min.js:2未捕獲錯誤:語法錯誤,無法識別的表達式:「li」。從該行的新聞filter.jsRequireJS正在加載所有頁面上不需要的腳本
$("ul.mediaListing").children("li."+chosenYear).filter("."+chosenCategory).each(function(c) {
我失去了約reqire.js決定了需要什麼樣的腳本在每個頁面上的財產以後? 我main.js文件是:
requirejs.config({
baseUrl: [system-view:internal]"/render/file.act?path=/assets/scripts/"[/system-view:internal] [system-view:external]"/assets/scripts/"[/system-view:external],
paths: {
"jquery": "libs/jquery/jquery-1.12.3.min",
"velocity": "libs/velocity/velocity",
"bgstretch": "plugins/background-stretch/background-stretch",
"campus-map": "modules/campus-map",
"velocity-ui": "libs/velocity/velocity.ui",
"slick": "plugins/slick/slick",
"iscroll": "plugins/iscroll/iscroll",
"dotdotdot": "plugins/dotdotdot/jquery.dotdotdot.min.umd",
"select": "plugins/select/select",
"accordion": "modules/accordion",
"news-filter": "modules/news-filter",
"codebird": "modules/codebird",
"social-feed": "modules/social-feed"
},
shim: {
"slick": ["jquery"],
"select": ["jquery"],
"bgstretch": {
deps: ["jquery"]
},
"accordion": ["jquery"],
"codebird": ["jquery"],
"social-feed": {
dep: ["jquery", "codebird"],
exports: "displayFeed"
},
"campus-map": {
deps: [ "jquery" ]
},
"velocity": {
deps: [ "jquery" ]
},
"velocity-ui": {
deps: [ "velocity" ]
}
},
map: {
'*': {
'jQuery': 'jquery'
}
}
});
requirejs(
['jquery', 'modules/utils', 'modules/custom.ui', 'libs/jquery/paginga.jquery', "modules/social-feed", "modules/news-filter"],
function ($, utils, ui, paga, social, news) {
ui();
$(".paginate").paginga({
// use default options
});
});
那麼main.js文件在哪裏起作用?另外,根據你的第二條評論「然後在我的HTML頁面中,當我添加腳本時,我會簡單陳述......」這是否意味着我必須爲每個HTML頁面單獨調用所需的腳本? 。 –
我試過只在需要news-filter.js的頁面上使用這個頭文件腳本,但是我得到錯誤「requrejs沒有定義」。 ' [/ system-view:internal] [system-view:external] '@NardDog –
這是解決方案,我只好刪除來自require變量的baseUrl並將其定義在實際頁面中: 'require.config({baseUrl:[system-view:internal]「/ render/file.act?path =/assets/scripts /」[/ system -view:internal] [system-view:external]「/ assets/scripts /」[/ system-view:external]}); require(['modules/utils','modules/custom.ui',' libs/jquery/paginga.jquery','social-feed','news-filter'], 函數(utils,ui,paga,social,news){ ui(); $(「。paginate」)。 paginga({0} {0} {0} {0}}} }); }); '謝謝@Nard Dog和@Louis –