【Amaple教程】1. 启动路由

开始编写具体的代码前,首先需启动单页模式并进行简单配置。在src/index.html中引入amaple.js框架文件后咱们就能够使用am这个全局对象。咱们在开发包的src/config.js文件中调用am.startRouter函数并传入一个Object对象进行启动路由并配置单页应用。首先咱们来配置url风格:javascript

am.startRouter ( {

     // amaplejs中存在两种url模式,分别为
     // url中带“#”的hash模式,全部浏览器都支持此模式。可以使用history: am.HASH指定
     // url中不带“#”的restful模式,此模式使用html5 history API实现,与普通url相同,
     // 但在不支持此特性的浏览器中不能正常使用,且需后台服务端的配置支持,可以使用history: am.BROWSER指定
     // 以上为两种可选的url模式,你也能够指定history : am.AUTO来让框架自动选择模式,在支持html5 history API的浏览器下自动使用此模式,
     // 不支持的状况下将自动回退使用hash模式
     history : am.HASH
} );

配置一个简单的匹配路由

正如咱们所知到的,不一样url将会显示不一样的页面,在这里咱们也需告诉框架一个url应该显示哪几个模块,其实这也是很简单的,具体分为两步:html

  • [1].在入口html文件(即src/index.html文件)内定义一个模块节点,来告诉框架请求的模块内容放到页面的哪一个位置
<body>
     <!-- 在<body>内添加一个<div>并给它添加:module属性,这样就指定了一个不具名的模块节点 -->
     <!-- 你能够将模块节点理解为模块渲染输出的容器,:module属性为空值表示不具名的模块节点,且任何标签均可以做为模块节点 -->
     <div :module></div>
</body>
  • [2].在am.startRouter函数中为模块设置相关参数,在函数参数内分别添加baseURLmoduleroutes参数,以下:
am.startRouter( {
    baseURL : {
          // 为模块文件设置base路径,全部的模块文件请求路径都将基于“/module”目录,不设置时默认“/”
          module: "/module"
     },

     // 模块文件后缀,其实默认的模块文件后缀就是“.html”,你也能够为它设置其余后缀
     module : {
          suffix: ".html"
     },

     // routes定义的function接收一个Router类的对象,使用此对象咱们就能够告诉框架一个url应该显示哪几个模块
     routes : function ( router ) {

          router.module ().route ( "/", "index" ).route ( "/about", "about" );
          // 在module和route函数内都会返回router对象自己,因此可以使用链式调用
          // router.module函数选定配置的模块节点,函数内没有传入任何参数表示选定一个不具名的模块节点,
          // 咱们在<body>内已定义了一个不具名的模块节点
          
          // 你也能够为模块指定名称,像这样<div :module="main"></div>,
          // 此时需这样调用router.module ( "main" )来选定模块节点。
          
          // router.route函数为选定模块配置匹配路径与模块的映射,
          // 当url相对路径为“/”时将加载index.html模块文件,当url相对路径为“/about”时将加载about.html模块文件
     },

     // 已讲解过的配置
     history : am.HASH
} );
简单的配置后,接下来就能够来编写这个 index.html模块文件了,在 src/module文件夹内添加一个 index.html文件。

继续学习下一节:【AmapleJS教程】2. 模块
也可回顾上一节:【AmapleJS教程】前言html5

相关文章
相关标签/搜索