这是我在Require.js上的第一次尝试,我正在试图弄清楚如何将jQuery插件与它一起使用,特别是应该管理我的SPA的history.js。下面的代码位于main.js中,脚本会运行,但我不知道如何实际使用History.pushState()、State.getState()和其他插件方法。我一直在控制台中收到"getState is not a function"错误消息。
(function() {
requirejs.config(
{
baseUrl: 'js',
paths: {
'jquery': 'vendor/jquery-1.11.2.min',
'history': 'history.js'
},
shim: {
'history': {
deps: ["jquery"],
exports: 'History'
}
},
map: {
'*': { 'jquery': 'jquery-private' },
'jquery-private': { 'jquery': 'jquery' }
}
}
);
define(["jquery"], function($) {
$(function() {
require(['history'], function( History ){
var
History = window.History,
State = History.getState();
});
});
});
})();jquery-private包含以下代码:
define(['jquery'], function (jq) {
return jq.noConflict( true );
});这就是到目前为止我所知道的一切,因为我只是想弄清楚一些东西并建立一个文档。我对require(['history])中的exports: History和函数参数有一些怀疑,但它可能是完全不同的东西。
顺便说一句,我在以前的项目中使用过历史,所以我觉得我知道如何使用它,如果你想知道的话。:)
编辑:我使用的是压缩/未压缩版本的history.js文件。添加路径并没有改变任何事情。无论有没有它,我都可以在需要时看到在浏览器中加载的脚本。我仍然认为History.getState()不是函数错误。
谢谢。
发布于 2017-02-26 00:34:29
您正在代码中访问历史记录,但未定义路径
require(['history'], function( History ){您需要添加历史js文件的路径,如jquery。
paths: {
'jquery': 'vendor/jquery-1.11.2.min',
'history' : '<path to js file>'
},尝试将历史记录与jquery一起添加为依赖项
define(["jquery","history"], function($,History) {
var
History = window.History,
State = History.getState();
})();https://stackoverflow.com/questions/42421732
复制相似问题