使用Ampersand.js路由模块化应用程序?

时间:2015-04-06 09:47:19

标签: javascript node.js modular ampersand.js

我正在尝试使用Ampersand.js编写我的第一个模块化应用程序,但我遇到了一些问题!希望有人能指出我正确的方向......

好的,我已将WatchifyBrowserify配置到我的html文件中,以创建一个bundled.js文件,每次进行更改时都会重新编译。然后,我想添加一个Ampersand模块 - ampersand-router(在终端中安装为npm install --save ampersand-router,以指定我想要处理的所有应用程序路由,并在用户遇到不可用路由时重定向用户。< / p>

问题是它没有重定向我的#路线,我无法弄清楚原因!因为我没有服务器(或者需要一个服务器)我试图使用基于#的路由,我希望它能处理三条路线,一条空路线(我的起点),{{ 1}}路由一条gif/id路由,该路由将重定向到起点。

所以我的文件结构包含router.js: -

catch

});

和app.js文件: -

'use strict';
var AmpersandRouter = require('ampersand-router');
module.exports = AmpersandRouter.extend({
routes:{
    '': 'gifs', //empty
    'gif/:id': 'gif',
    'catch': 'catch' //catch and redirect
},
gifs: function(){
    console.log('gifs page');
},

gif: function(id){
    console.log('gif page', id);
},
'catch': function(){
    this.redirectTo('');
}

这是我在index.html和package.json代码

中汇总的var Router = require('./router.js'); window.app = { init: function () { console.log('hello world'); this.router = new Router(); this.router.history.start(); } }; window.app.init();
<script src = "bundled.js"></script>

任何帮助都会非常感激!谢谢大家!

3 个答案:

答案 0 :(得分:1)

会发生什么?有错误吗?此外,您可以尝试跳转到项目聊天并在那里询问:https://gitter.im/AmpersandJS/AmpersandJS

答案 1 :(得分:0)

尝试停用pushState

this.router.history.start({pushState: false});

启用时,#-fallback不会启动。

答案 2 :(得分:-2)

你有没有尝试过使用&nbsp; npm start&#39;在你的基目录?

我还没有将Ampersand.js放入HTML文件中,但似乎可以使用纯Javascript。